Batch Dateien in anderes Unterverzeichnis verschieben
Hallo,
bin dank Eurer Hilfe fast fertig mit meinem Batch. Dieser funktioniert auch:
Jetzt möchte ich aber diesen auf der Originalumgebung laufen lassen; dort funktioniert der Übertrag in ein anderes Verzeichnis nicht richtig (W:\Dokumente\Finanzen)
liegt es am übergeordneten Verzeichnis?
Weiß mir jemand Rat?
LG waholin
bin dank Eurer Hilfe fast fertig mit meinem Batch. Dieser funktioniert auch:
@echo off & setlocal
set "Quelle=W:\Programmierung\Batch"
set "Typ=pdf"
set "SearchKey=Kontoauszug"
for %%a in ("%quelle%\Data\*%Searchkey%*.%typ%") do (
for /f "tokens=2 delims=_" %%b in ("%%~na") do (
if not exist "%quelle%\%Searchkey%\%%b" md "%quelle%\%Searchkey%\%%b" >nul
move "%%a" "%quelle%\%Searchkey%\%%b\"
)
)
Jetzt möchte ich aber diesen auf der Originalumgebung laufen lassen; dort funktioniert der Übertrag in ein anderes Verzeichnis nicht richtig (W:\Dokumente\Finanzen)
liegt es am übergeordneten Verzeichnis?
@echo off & setlocal
set "Quelle=W:\Programmierung\Batch"
set "Ziel=W:\Dokumente\Finanzen"
set "Typ=pdf"
set "SearchKey=Kontoauszug"
for %%a in ("%quelle%\Data\*%Searchkey%*.%typ%") do (
for /f "tokens=2 delims=_" %%b in ("%%~na") do (
if not exist "%ziel%\%Searchkey%\%%b" md "%ziel%\%Searchkey%\%%b" >nul
move "%%a" "%ziel%\%Searchkey%\%%b\"
)
)
Weiß mir jemand Rat?
LG waholin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668113
Url: https://administrator.de/contentid/668113
Ausgedruckt am: 19.11.2024 um 00:11 Uhr
1 Kommentar
Hi,
Meistens liegt es einfach daran, dass sich von Maschiene zu Maschine Pfade ändern kännen. Darum ist es immer eine schlechte Idee Pfade hard coded einzubauen
Wenn das Script im selben Verzeichnis oder darüber liegt, kannst den Script-Path immer mit...
...festlegen. Achtung! Ja! Nach %~dp0 ist wirklich kein Backslash.
Das andere ist die Frage warum du dafür Batch einsetzen willst, wenn du auf jeder Windows-Maschine eh schon Powershell am Start hast? Dann wäre das nämlich maximal ein 3-Zeiler.
Grüße
Meistens liegt es einfach daran, dass sich von Maschiene zu Maschine Pfade ändern kännen. Darum ist es immer eine schlechte Idee Pfade hard coded einzubauen
Wenn das Script im selben Verzeichnis oder darüber liegt, kannst den Script-Path immer mit...
"%~dp0deineBatch.cmd"
Oder
"%~dp0Ordner1\Ordner2\...\"
Das andere ist die Frage warum du dafür Batch einsetzen willst, wenn du auf jeder Windows-Maschine eh schon Powershell am Start hast? Dann wäre das nämlich maximal ein 3-Zeiler.
Grüße