Gå til innhold

Opprette èn *.txt for hver *.jpg


Anbefalte innlegg

Skrevet

Hei!

Har flere mapper med bilder (jpg). Trenger en løsning som skanner disse mappene og oppretter en txt-fil for hver jpg-fil

Hvis P10005.jpg finnes, opprett P10005.txt

 

Noen som kan bistå?

Videoannonse
Annonse
Skrevet

Du må nok utdype litt nermere. Dvs helt eksakt hvorden du skal ha det gjort.

 

Spørsmålet ditt er altfor vagt. Hadde jeg skrevet en programsnutt så er det nesten 100% sikkert at du "glemte" å opplyse om noe slik at programmet ikke oppfyller dine krav likevel.

Skrevet

OK.

Jeg har en mappe med flere undermapper. Slik:

-Hovedmappe

--Undermappe1

--Undermappe2

--Undermappe3

I hver av disse mappene ligger det bildefiler (jpg)

Jeg ønsker 1 stk .txt fil for hver bildefil.

Så ved søk i Hovedmappe, skann for *.jpg og opprett en .txt.

Finner skriptet feks bildefilen P10005.jpg, så oppretter den P10005.txt

 

Vært fint om skriptet IKKE overskrev allerede opprettede .txt-filer

 

Selve skriptfilen blir liggende i Hovedmappe, så det holder med å skanne alle Undermapper

 

:-)

Skrevet

Det ga absolutt null mening, men burde være doable med et batchscript. Kommer ikke helt på hvordan det skal se ut i farten, men en kjapp google skulle nok ordne det :)

Skrevet

Hei!

 

Rota isammen et lite vbsscript i full fart:

 

---------------------

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

objStartFolder = objFSO.GetParentFolderName(Wscript.ScriptFullName) ' kan endres

 

Set objFolder = objFSO.GetFolder(objStartFolder)

 

Set colFiles = objFolder.Files

For Each objFile in colFiles

 

if LCase(Right(objFile, 4)) = ".jpg" then

CreateTxtFile(objFile)

End if

 

Next

 

 

ShowSubfolders objFSO.GetFolder(objStartFolder)

 

Sub ShowSubFolders(Folder)

For Each Subfolder in Folder.SubFolders

 

Set objFolder = objFSO.GetFolder(Subfolder.Path)

Set colFiles = objFolder.Files

For Each objFile in colFiles

 

if LCase(Right(objFile, 4)) = ".jpg" then

 

 

CreateTxtFile(objFile)

End if

 

Next

 

Next

End Sub

 

 

Sub CreateTxtFile(objFile)

 

File_Name = Left(objFile, InStrRev(objFile,".") - 1)

Ext = Mid (objFile, InStrRev(objFile,".") + 1)

 

if objFSO.FileExists(File_Name & ".txt") = false then

 

Set NewsFile = objFSO.CreateTextFile(File_Name & ".txt", True)

NewsFile.Close

 

 

End if

 

End Sub

 

-------------------

 

Det ser ut til å fungere men ingen garantier :)

Det er lenge siden jeg har rørt vbs så det kan være bugs her og der :)

Rekursjon brukes for å gå igjennom alle undermapper. Txt-filene blir lagt i samme mappe som jpgfila, regner med det var det du ville?

Skrevet

Se her ja.

Problemet er nå at jeg ikke får testet det.

Kopierte koden inn i Notepad++, valgte VB som språk og lagret som test.vbs

 

Linje: 1

Tegn: 1

Feil: Ugyldige tegn

Feilkode: 800A0408

 

Sikkert jeg som surrer

Skrevet

Tviler sterkt. Prøv med vanlig notepad bare for å sjekke at det ikke er noe med tegnsettet. Just for the funs of it :p

 

Okei.

Tviler sterkt på at det har med OS å gjøre. Prøv med vanlig notepad bare for å sjekke at det ikke er noe med tegnsettet. Just for the funs of it :p

  • 2 uker senere...
Skrevet

Hei igjen!

Tipper det ikke er kjempe vankelig, men skulle nå hatt inn en standardtekst ved opprettelse av txt-filen.

Har søkt, og kom bl.a. over denne siden. Dog litt usikker på om dette er brukende??

 

Teksten jeg ønsker skrevet inn i txt-filen er,

Det er ingen beskrivelse til dette bildet

Skrevet

echo Det er ingen beskrivelse til dette bildet >> tekstfil.txt

> betyr at den vil overskrive alt innholdet i filen.

>> vil si at den lager en ny linje nederst i filen :) Vet ikke om det var helt dette du mente men :p

Skrevet

Åjo, det var akkurat det jeg mente :-)

Men skjønner ikke helt hvor

echo Det er ingen beskrivelse til dette bildet >> (File_Name & ".txt")

skal settes inn....

Skrevet

Om dette er for å sjekke beskrivelsen man kan legge til på bilder må du lage en bit i scriptet som sjekker om det er en beskrivelse, og så evt kjøre den echoen om det ikke var det. Dette har jeg desverre ikke den fjerneste anelse om hvordan skal gjøre :p

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...