ghostx
Goto Top

Umbenennen mit Pfadangaben

Hallo Leute,

habe ein Script welcher mir Dateien vom Netzwerk nach lokal mittels robocopy kopiert.
Anschliessend werden die Dateien umbenannt.
So sieht mein aktueller Code aus:
robocopy.exe "\\IC2335\Export\Test" "C:\Test" *V05* /XX /r:0  
renamep *V05* V05 "1234_56"  

Inhalt vom renamep.cmd:
@echo off %debug%
setlocal enabledelayedexpansion
for %%i in (%1) do (
 set x=%%i
 rename "%%i" "!x:%~2=%~3!"  
)

Das musste ich so machen da der rename Befehl nur richtig funktioniert wenn Soll- und Ist-Text die gleiche Anzahl Zeichen haben was ja in meinem Fall nicht so ist.

Die Scripte laufen nur wenn sie im gleichen Verzeichnis liegen in der auch die Dateien sind (C:\Test).
Wie/Wo kann ich hier Verzeichnisangaben machen?

Content-ID: 451697

Url: https://administrator.de/contentid/451697

Ausgedruckt am: 19.10.2024 um 15:10 Uhr

139708
139708 17.05.2019 aktualisiert um 16:39:26 Uhr
Goto Top
Zitat von @ghostX:
Die Scripte laufen nur wenn sie im gleichen Verzeichnis liegen in der auch die Dateien sind (C:\Test).
Wie/Wo kann ich hier Verzeichnisangaben machen?
So schreiben
@echo off &setlocal enabledelayedexpansion
for %%i in ("%~1") do (  
 set "x=%%~nxi"  
 rename "%%i" "!x:%~2=%~3!"  
)
und dann so aufrufen
"C:\Pfad\renamep.cmd" "C:\Pfad\*V05*" "V05" "1234_56"  
Gruß w.