Batch file .bat If-Then语句
我需要帮助为编写批处理脚本Batch file .bat If-Then语句,batch-file,windows-scripting,Batch File,Windows Scripting,我需要帮助为编写批处理脚本 if file newfile.txt exists then del "InDesignData.txt" ren "newfile.txt" "InDesignData.txt" 您可以使用简单的曲线括号(也支持else!) 除此之外: @echo off IF EXIST newfile.txt ( del "InDesignData.txt" ren "newfile.txt" "InDesignData.txt" ) else ( echo Making
if file newfile.txt exists
then del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
您可以使用简单的曲线括号(也支持else!) 除此之外:
@echo off
IF EXIST newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
) else (
echo Making tea
)
可以这样做的一种方法是使用if语句和标签来表示错误和成功,并使用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
嗯,,
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"
或使用()
使用括号是对使用GOTO的改进,因为它更干净。(这通常不是我第一次想到的,因为我是在MS-DOS下学习批处理的。)
我想不出使用GOTO语句的理由,除非您使用的是旧版本的Windows。在这种情况下,我只会在第一个if语句中更改(例如,在本例中删除)您正在测试的内容时使用GOTO语句。GOTO语句会使以后阅读脚本变得更加困难。感谢您的快速响应!很好!你的代码是我所需要的,在单独的行中,我建议使用括号
如果条件(第1行新行第2行)
是的,这是另一种方法。编辑你的代码,在del
和ren
@Mogli前面不应该有存在。我不知道我在想什么,也不知道我是怎么错过的。有人拒绝了你的编辑,所以我更改了它。我希望+1是可以接受的回报!:)谢谢你,克鲁格。我不知道那些是怎么存在的
,我们一直被放回去!删除问候语:“提前感谢,\n Joe”,下次不要这样做
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"
)