[BATCH] Dateien mit unterschiedliche Namen erzeugen

plastikjoe

Cadet 2nd Year
Registriert
Okt. 2004
Beiträge
16
Hallo Gemeinde,

ich möchte gern etwas automatisieren und komme nicht so recht weiter, vielleicht könnt ihr mir helfen.

Ich habe eine Datei in der 100 Einträge sind, welche sich bis auf das letzte Wort gleichen, also

Bilder/Urlaub/Kroatien/2000/Stadt1
Bilder/Urlaub/Kroatien/2000/Stadt2
Bilder/Urlaub/Kroatien/2000/Stadt3
.
.
usw.

ich möchte jetzt nacheinander mit beispielsweise touch(Unix) eine Datei anlegen die heist Stadt1.bat, Stadt2.bat , Stadt3.bat usw. der clou muß sein das in jeder dieser Datein der Inhalt Bilder/Urlaub/Kroatien/2000/Stadt1 Bilder/Urlaub/Kroatien/2000/Stadt2 Bilder/Urlaub/Kroatien/2000/Stadt3 usw stehen soll.

Habt ihr eine kurze Lösung ? Mit Unix für Windows könnte man doch da bestimmt was machen?

Danke

Gruß Ringo
 
Re: Batch Dateien mit unterschiedliche Namen erzeugen

Hallo,

das sieht fürsErste schon ganz gut aus, jedoch möchte er mir Dateinamen anlegen die lauten Bilder/Urlaub/Kroatien/2000/Stadt1.bat usw. . Mir fehlt da die Komponente , das nur Stadt1.bat erstellt wird. irgnedwie muß das Bilder/Urlaub/Kroatien/2000/ rausgeschnitten werden, bloß wie

Gruß Ringo
 
Re: Batch Dateien mit unterschiedliche Namen erzeugen

Hi,

dann halt so:
Code:
dim fso,objRead,objWrite,strContent,intLen 
set fso = CreateObject("Scripting.FileSystemObject")
Set objRead = fso.OpenTextFile("C:\text.txt", 1)
Do While Not objRead.AtEndOfStream
    strContent = objRead.ReadLine
    intLen = InStrRev(strContent, "/") - 1
    Set objWrite = fso.OpenTextFile("C:\" & Right(strContent, intLen) & ".bat", 2, True)
    objWrite.WriteLine strContent
    objWrite.Close
    Set objWrite = Nothing
Loop

zu speichern als .vbs

Gruß

Toaster
 
Re: Batch Dateien mit unterschiedliche Namen erzeugen

Hi Toaster,

danke erstmal, jedochbekomm ich einen Fehler in Zeile 7 Zeichen 5 , Fehler: Der Pfad wurde nicht gefunden. .
Kannst du mir bitte die Zeile mal erklären, irgendwie bin ich in vbs nicht so firm.
Am besten auch noch die Zeile 6.

Danke Gruß Ringo
 
Zuletzt bearbeitet: (Nachtrag)
Re: Batch Dateien mit unterschiedliche Namen erzeugen

Hi,

stimmen den die Pfade für deine Maschine? Hast du die Berechtigung neue Dateien zu erstellen?

Ansonsten mach mal bei der Fehlermeldung STRG + C und paste sie hier rein.

Gruß

Toaster
 
Hallo Toaster,

ich denke schon das die Pfade hinhauen! Und an Rechten sollte es auch nicht hängen.
Ich habs auf 2 Rechner laufen lassen

Die FM ist im Anhang. Hast du das Script bei dir laufen lassen?
Das Script sieht nach den Pfadänderungen so aus:

dim fso,objRead,objWrite,strContent,intLen
set fso = CreateObject("Scripting.FileSystemObject")
Set objRead = fso.OpenTextFile("Z:\Neuer Ordner\test.txt", 1)
Do While Not objRead.AtEndOfStream
strContent = objRead.ReadLine
intLen = InStrRev(strContent, "/") - 1
Set objWrite = fso.OpenTextFile("C:\" & Right(strContent, intLen) & ".bat", 2, True)
objWrite.WriteLine strContent
objWrite.Close
Set objWrite = Nothing
Loop

Ich Denke dort ist ein Fehler in der Zeile, ggf. bei den Anführungstriche.
Was genau macht die Zeile eigentlich? Ich denke er soll auf C die Datein ablegen mit der endung .bat, was aber macht die 2 und das true?


Gruß Ringo
 

Anhänge

  • fm.gif
    fm.gif
    2,8 KB · Aufrufe: 238
die 2 ist der value für OpenTextFile das er schreiben soll, das True das er die Datei erzeugen soll, falls sie nicht vorhanden ist

warum liegt das vbs unter F: und die text.txt unter Z: ?

Kann es daran liegen?
 
Hi Toaster,

ich habe bei den Ausgaben ein wenig probiert, daher auch die unterschiedlichen Pfade.

Auch wenn alles auf D liegt, gibt das keine Besserung. Der findet jedesmal den Pfad nicht.

in der Datei steht Bilder/Urlaub/Kroatien/2000/Stadt1 und die datei die angelegt werden sollte heist somit stadt1.bat , kann es sein das er eine Datei anlegen will die Bilder/Urlaub/Kroatien/2000/Stadt1.bat heist und dies wegen der / nicht kann ??

Aber irgendwo muß doch in der Zeile ein Fehler sein, oder? Kann man die Zeile evtl, verkürzen oder vereinfachen. Kann es sein das auf meinem System irgendwelche Vorraussetzungen für vbs fehlen?

Kann man sich evtl. mit einer art echo den Pfad der nicht gefunden werden kann anzeigen lassen ?

Gruß Ringo
 
Zuletzt bearbeitet:
Zurück
Oben