我需要寫一個批處理腳本.BAT如果然後聲明
if file newfile.txt exists
then del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
我需要寫一個批處理腳本.BAT如果然後聲明
if file newfile.txt exists
then del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
您可以使用簡單的弧形托架幫助
@echo off
IF EXIST newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
)
隨着其他(也支持其他!):
@echo off
IF EXIST newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
) else (
echo Making tea
)
你可以這樣做的一種方法是讓if語句和實驗ELS的錯誤和成功,並用ECHO在這裏調試它......我的例子中有目錄的事,但你一定能適應你的文件刪除/創建需要:
ECHO Cleaning up folders...
if exist %myDir% goto deleteFolder
goto createNewDir
:deleteFolder
echo Deleting %myDir%
RMDIR %myDir% /S /Q
IF ERRORLEVEL 1 GOTO Error
:createNewDir
mkdir %myDir%
IF ERRORLEVEL 1 GOTO Error
goto Done
:error
echo something went wrong
goto End
:Done
echo Success!
:End
HTH, EB
你可以做幾種方式,最乾淨的方法是:
在單行:
if exist newfile.txt del "InDesignData.txt" & ren "newfile.txt" "InDesignData.txt"
在不同的行:
if exist newfile.txt del "InDesignData.txt"
if exist newfile.txt ren "newfile.txt" "InDesignData.txt"
或者使用()
if exist newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
)
使用括號是在使用GOTO,因爲它是非常乾淨的代碼的改進。 (這通常不是我首先想到的,因爲我在MS-DOS下學習了BATCH。)
我想不出使用GOTO語句的原因,除非您使用的是Windows的古老版本。在這種情況下,如果在第一個語句中更改了第一個IF(如果存在newfile.txt),則只會使用GOTO語句。 GOTO聲明傾向於使得稍後閱讀腳本更加困難。
刪除了稱呼:「在此先感謝,\ n喬」,下次不要這樣做 – 2015-05-21 18:17:09