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
Please also mark the comments that contributed to the solution of the article
Content-ID: 668113
Url: https://administrator.de/contentid/668113
Printed on: October 13, 2024 at 11:10 o'clock
1 Comment
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