ifox68 wrote:den backslash muss ich aber trotzdem rausnehmen, sonst funktioniert es nicht.
gruß
ifox68
Mit dieser Variante funktioniert es mit und ohne Backslash. Kann sogar von Verzeichnis zu Verzeichnis unterschiedlich sein.
Code: Select all
@echo off
setlocal ENABLEDELAYEDEXPANSION
set target=C:\ziel
set path_file=move.txt
set num=1
echo.
set /p answer=Forfahren mit Umbenennen und Verschieben von Dateien in "%path_file%" nach "%target%" ^(j/n^)?
if /i "%answer%"=="j" goto DO_IT
goto :EOF
:DO_IT
if not exist "%target%" md "%target%" > NUL
for /F "tokens=*" %%J IN (%path_file%) DO (
set num=1
for /F "tokens=*" %%A IN ('dir /b /a-d /ogn "%%J"') DO (
echo.
set verz=%%~npJ
set file=%%A
if "%%~nxJ"=="" (
REM echo mit Backslash
REM Alle Zeichen, ohne das erste und das letzte (sind Backslashes) in dieselbe Variable kopieren
set verz=!verz:~1,-1!
set b_slash=
) ELSE (
REM echo ohne Backslash
REM Alle Zeichen, ohne das erste (ist ein Backslash) in dieselbe Variable kopieren
set verz=!verz:~1!
set b_slash=\
)
echo !num!
echo Umbenennen^: !file! --^> !verz!.!num!
ren "%%~J!b_slash!!file!" "!verz!.!num!" > NUL
echo Verschieben^: !verz!.!num!
move "%%~J!b_slash!!verz!.!num!" "%target%" > NUL
set /a num=!num!+1
)
)
endlocal
Mphf, das Forum bricht den Code um, daher hier nochmal als UUE (decodieren im TC mit Dateien -> Datei decodieren):
Code: Select all
begin 644 rename_and_move.cmd
M0&5C:&\@;V9F#0H-"G-E=&QO8V%L($5.04),141%3$%9141%6%!!3E-)3TX-
M"@T*<V5T('1A<F=E=#U#.EQZ:65L#0IS970@<&%T:%]F:6QE/6UO=F4N='AT
M#0IS970@;G5M/3$-"@T*96-H;RX-"G-E="`O<"!A;G-W97(]1F]R9F%H<F5N
M(&UI="!5;6)E;F5N;F5N('5N9"!697)S8VAI96)E;B!V;VX@1&%T96EE;B!I
M;B`B)7!A=&A?9FEL924B(&YA8V@@(B5T87)G970E(B!>*&HO;EXI/R`-"FEF
M("]I("(E86YS=V5R)2(]/2)J(B!G;W1O($1/7TE4#0IG;W1O(#I%3T8-"@T*
M.D1/7TE4#0II9B!N;W0@97AI<W0@(B5T87)G970E(B!M9"`B)71A<F=E="4B
M(#X@3E5,#0H-"F9O<B`O1B`B=&]K96YS/2HB("4E2B!)3B`H)7!A=&A?9FEL
M924I($1/("@-"B`@("!S970@;G5M/3$-"B`@("!F;W(@+T8@(G1O:V5N<STJ
M(B`E)4$@24X@*"=D:7(@+V(@+V$M9"`O;V=N("(E)4HB)RD@1$\@*`T*("`@
M("`@("!E8VAO+@T*("`@("`@("!S970@=F5R>CTE)7YN<$H-"B`@("`@("`@
M<V5T(&9I;&4])25!(`T*("`@("`@("!I9B`B)25^;GA*(CT](B(@*`T*("`@
M("`@("`@("!214T@96-H;R!M:70@0F%C:W-L87-H#0H@("`@("`@("`@(%)%
M32`@($%L;&4@6F5I8VAE;BP@;VAN92!D87,@97)S=&4@=6YD(&1A<R!L971Z
M=&4@*'-I;F0@0F%C:W-L87-H97,I(&EN(&1I97-E;&)E(%9A<FEA8FQE(&MO
M<&EE<F5N#0H@("`@("`@("`@('-E="!V97)Z/2%V97)Z.GXQ+"TQ(0T*("`@
M("`@("`@("!S970@8E]S;&%S:#T-"B`@("`@("`@*2!%3%-%("@-"B`@("`@
M("`@("!214T@96-H;R!O:&YE($)A8VMS;&%S:`T*("`@("`@("`@(%)%32`@
M($%L;&4@6F5I8VAE;BP@;VAN92!D87,@97)S=&4@*&ES="!E:6X@0F%C:W-L
M87-H*2!I;B!D:65S96QB92!687)I86)L92!K;W!I97)E;@T*("`@("`@("`@
M('-E="!V97)Z/2%V97)Z.GXQ(0T*("`@("`@("`@('-E="!B7W-L87-H/5P-
M"B`@("`@("`@*0T*("`@("`@("!E8VAO("%N=6TA#0H@("`@("`@(&5C:&\@
M("`@56UB96YE;FYE;EXZ("`@("%F:6QE(2`M+5X^("%V97)Z(2XA;G5M(0T*
M("`@("`@("!R96X@(B4E?DHA8E]S;&%S:"$A9FEL92$B("(A=F5R>B$N(6YU
M;2$B(#X@3E5,#0H@("`@("`@(&5C:&\@("`@5F5R<V-H:65B96Y>.B`@("%V
M97)Z(2XA;G5M(0T*("`@("`@("!M;W9E("(E)7Y*(6)?<VQA<V@A(79E<GHA
M+B%N=6TA(B`B)71A<F=E="5<(B`^($Y53`T*("`@("`@("!S970@+V$@;G5M
@/2%N=6TA*S$-"B`@("`I#0HI#0H-"F5N9&QO8V%L#0H`
`
end
sum -r/size 13393/1247
Hab's auch noch ein bisschen aufgebohrt mit Abfrage am Anfang und die Ausgaben etwas genauer. Fehler, Kritik, aber auch Lob sind willkommen
MfG Dalai