0
@ECHO OFF
SET m=1
:namechange
IF EXIST C:\Users\Iree\Pictures\Predator\%m%.bmp (SET m=m+1 | GOTO:namechange) ELSE (GOTO:name)
:name
C:\Users\Iree\Pictures\Predator\Command... /preview /quiet /filename %m%.bmp
這是代碼。當我運行它時,它運行一個名爲CommandCam.exe
的程序。所有你需要知道的是它會生成一個.bmp圖片文件。我現在用變量「m」命名該文件,該文件正在工作。不工作的是我的if語句。現在每次運行它時,前面的.bmp文件都被替換了,我能夠生成的唯一東西就是1.bmp文件。相反,我想只添加另一個.bmp而不替換任何內容。例如,如果我運行了5次,我需要5個單獨的.bmp文件,名稱爲1.bmp 2.bmp 3.bmp 4.bmp和5.bmp。我的.bat文件有什麼問題?
我剛開始看批處理,所以非常感謝幫助。謝謝。
下面是最終
@ECHO OFF
SET m=1
GOTO :namechange
:namechange
IF EXIST C:\Users\Iree\Pictures\Predator\%m%.bmp (SET /a m+=1) & (GOTO:namechange) ELSE (GOTO:name)
:name
C:\Users\Iree\Pictures\Predator\CommandCam.exe /preview /quiet /filename %m%.bmp
你有一個額外的空間與你原來的'set m = 1'。爲了避免這種錯字,最好使用下面的語法:'set「m = 1」'。 – Stephan
另外,'set m = m + 1'需要'set/a m = m + 1'或'set/a m + = 1' –