Mr.Vain Geschrieben 28. Dezember 2009 Geschrieben 28. Dezember 2009 Hallo, möchte folgende TXT Datei auslesen: ==== C:\Programme\ScriptLogic Manager C:\Programme\CA ===== mittels For-Schleife möchte ich diese Pfade auslesen (man beachte das Leerzeichen im 1. Pfad) und dann auf einem Netzlaufwerk ggf. die gleiche Ordnerstruktur erstellen: if not exist Netzlaufwerk:\C\Programme\ScriptLogic Manager\ mkdir Netzlaufwerk:\C\Programme\ScriptLogic Manager\ Wie mache ich dies? Zitieren
gelang(while)t Geschrieben 28. Dezember 2009 Geschrieben 28. Dezember 2009 du willst also alle Ordner im Pfad "C:\Programme\" auslesen, oder was? in welcher Progsprache haste dir das denn gedacht, oder bevorzugst du etwas...? welches Ziel verfolgst du? brauchen schon ein paar präzisere Angaben, haste dir eig. schon mal selber n Kopf drüber gemacht vllt. sogar gegoogelt? Zitieren
Mr.Vain Geschrieben 28. Dezember 2009 Autor Geschrieben 28. Dezember 2009 (bearbeitet) du willst also alle Ordner im Pfad "C:\Programme\" auslesen, oder was? in welcher Progsprache haste dir das denn gedacht, oder bevorzugst du etwas...? welches Ziel verfolgst du? brauchen schon ein paar präzisere Angaben, haste dir eig. schon mal selber n Kopf drüber gemacht vllt. sogar gegoogelt? Sprache: Batch habe eine *.txt Datei mit mehreren Pfaden Diese möchte ich für eine Sicherung mittels Batch auslsesen. Die Sicherung erfolgt auf einem NAS-Server in einem Ordner "C". Hier soll automatisch die Pfad-Struktur der einzelnen Pfade angelegt werden. Das Problem besteht darin, dass einige Pfade Leerzeichen enthalten (siehe 1.Pfad). Habe bereits folgendes getestet: for /f "tokens=2*" %%a in (sicherung.txt) do set "DIRECTORY=%%b" edit: Mit diesem Befehl: FOR /F "delims=;" %%I in (nas-sicherung.bks) DO echo %%I erhalte ich den kompletten Pfad: Bsp: C:\Prgramme\Programm Hallo\test Wie kann ich die Variable nun umsetzen, dass diese ab dem 4.Zeichen anfängt. ´(In diesem Fall Variable= Programme\Programm Hallo\test Bearbeitet 28. Dezember 2009 von Mr.Vain Zitieren
gelang(while)t Geschrieben 29. Dezember 2009 Geschrieben 29. Dezember 2009 grüße dich... naja Batch im Allgemeinen = Stapelabarbeitung^^ okay, habs aber verstanden! Habe mal deine Versuche aufgegriffen und deinen Wünschen entsprechend angepasst: FOR /F "delims=;" %%I in (Pfade.txt) DO ( set var_pfad=%%I set var_pfad_abzeichen=%var_pfad:~3,20 echo %var_pfad_abzeichen% ) hierbei habe ich die einzelnen Zeilen als String (Umgebungsvariable) zwischen gespeichert und im Anschluß daran mit Hilfe des :~das Anfangszeichen, sowie wieviele Zeichen ab da angegeben! Sprich er zeigt momentan ab dem 4ten Zeichen 20 weitere an! Vllt hilft dir das ja, ansonsten sehe ich keine großen Chancen lediglich mit der CMD da was zu reißen...! Aber vllt würde dir ja Perl da weiter helfen, damit kannste ziemlich viel anstellen... Zitieren
Mr.Vain Geschrieben 29. Dezember 2009 Autor Geschrieben 29. Dezember 2009 Danke für deine Hilfe, habs nun so hinbekommen: for /f "delims=\ tokens=1*" %%i in (pfade.txt) do ( echo %%j) Zitieren
Mr.Vain Geschrieben 30. Dezember 2009 Autor Geschrieben 30. Dezember 2009 Hallo, habe folgende TXT DAtei: =============== C:\Programme\Program Test\Daten C:\TMP =============== Diese möchte ich für eine Sicherung mittels Batch auslsesen. Die Sicherung erfolgt auf einem NAS-Server in einem Ordner "C". Hier soll automatisch die Pfad-Struktur der einzelnen Pfade angelegt werden. Das erstellen der Ordner auf dem Nas erledige ich so: for /f "delims=\ tokens=1*" %%i in (nas-sicherung.bks) do ( if not exist "%NAS_LW%\%%j" mkdir "%NAS_LW%\%%j" ) Wie binde ich folgende Schleife hier ein, sodass für jeden Eintrag auch etwas kopiert wird? for /F "tokens=*" %%k in (nas-sicherung.bks) do ( %INSTPATH%\setup\tools\robocopy.exe "%%k" "%NAS_LW%\%%j" /MIR /R:0 /W:0 /NP /FFT >> %LOGFILE%) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.