2016-07-05 3 views
0

Ich habe einen Ordner, die BMP-Dateien hat, sie 4 in einem Ordner oder 50 in einem Ordner sein kann, aber sie sindUmbenennung JPG-Dateien in einem Ordner mit dem Batch-Datei

image.bmp 
image1.bmp 
image2.bmp 

begann ich eine Batch-Datei mit dem folgenden Code:

@echo off 
setlocal enableDelayedExpansion 
SET counter=0 
SET /P filename=Please enter the filename: 
for %%G in (C:\Test_Folder) do (
    ren image*.bmp "%filename%""%counter%".bmp 
    SET /A counter=%counter%+1; 
    echo "%counter%" 
) 
pause 

aber der Zähler nicht erhöht, kann jemand etwas Licht zu meinem Code geben?

+2

Sie haben eine [verzögerte Erweiterung Problem] (http://StackOverflow.com/a/30284028/2152082) – Stephan

+0

Wie kann ich es korrigieren? – user396123

+0

ist es in meinem Link beschrieben. – Stephan

Antwort

1
@echo off 
setlocal enableDelayedExpansion 
SET counter=0 
SET /P filename=Please enter the filename: 
for %%G in (C:\Test_Folder\image*.bmp) do (
    ren "%%~G" "%filename%!counter!.bmp" 
    SET /A counter+=1 
    echo "!counter!" 
) 
pause 

Änderungen:
verzögerte Erweiterung für die Variable counter verwenden.
for verarbeitet übereinstimmende Dateien im Ordner anstelle des Ordners.
Verwenden Sie ren, um einzelne Dateien anstelle von Wildcard-Verwendung umzubenennen.
SET /A counter+=1 anstelle von SET /A counter=!counter!+1 (tut das gleiche, aber verbesserte Readability).