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-Key: 451697

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

Printed on: April 25, 2024 at 03:04 o'clock

Mitglied: 139708
139708 May 17, 2019 updated at 14:39:26 (UTC)
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.