2017-08-24 4 views
0

Ich brauche ein Skript, das alle Dateien in allen Unterordnern des Stammverzeichnisses des Skripts umbenennt. habe ich die Suche und fand etwas, das funktioniert, und ich kann (ich bin ein wenig newbie/laic) ändernBatch-Skript zum Umbenennen von Dateien in Unterordnern

@echo off 
chcp 65001 
setlocal enabledelayedexpansion 
set filename=image 
set /a x=1 
>@rename.txt (
for /r %CD% %%f in (*.jpg) do (
     echo rename "%%f" "!filename!_!x!.jpg" 
     rename "%%f" "!filename!_!x!.jpg" 
    set /a x+=1 
    ) 
) 
endlocal 
pause 

Aber ich möchte diese Dateien zufällige Zeichenfolge umzubenennen.

Ich habe eine Menge Skripte gefunden, die zufällige Zeichenfolgen erzeugen können, aber ich kann sie einfach nicht dazu bringen, innerhalb der FOR-Klammern zu arbeiten.

jetzt im mit

@echo off 
chcp 65001 
setlocal enabledelayedexpansion 
set /a x=%RANDOM%/99 
>@rename.txt (
for /r %CD% %%f in (*.jpg) do (
     echo "%%f" renamed to "!x!.jpg" 
     rename "%%f" "!x!.jpg" 
    set /a x+=%RANDOM%/99 
    ) 
) 
endlocal 

stecken, der gut arbeitet, aber seine Grenzen hat.

Jede Hilfe wird

Antwort

0
@echo off 
chcp 65001 
setlocal enableextensions enabledelayedexpansion 
set "alphabet=a b c d f g h i j k l m n p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9" 
    set "size=0" 
    for %%a in (%alphabet%) do (
     set "a.!size!=%%a" 
     set /a "size+=1" 
    ) 
for /r %CD% %%f in (*.jpg) do (
    set "k=" 
    for /l %%a in (1 1 64) do (
     set /a "r=!random! %% size" 
     for %%b in (!r!) do set "k=!k!!a.%%b!" 
    ) 
    rename "%%f" "!k!.jpg" 
    ) 
endlocal 
geschätzt werden
Verwandte Themen