Batch file 避免批处理文件中的长代码行
这应该很容易。我已经做了一批,但我认为它包含过长的句子。我不得不玩弄括号,但很快意识到我不明白自己在做什么。任何提示都很好 这是密码Batch file 避免批处理文件中的长代码行,batch-file,lines,Batch File,Lines,这应该很容易。我已经做了一批,但我认为它包含过长的句子。我不得不玩弄括号,但很快意识到我不明白自己在做什么。任何提示都很好 这是密码 IF "%deletetype%" == "prompt" (for /d /r "C:\Users" %%a in (*Folder*) do if exist "%%a" rmdir /s "%%a") ELSE (for /d /r "C:\Users" %%a in (*Folder*) do if exist "%%a" rmdir /s /q "%%a
IF "%deletetype%" == "prompt" (for /d /r "C:\Users" %%a in (*Folder*) do if exist "%%a" rmdir /s "%%a") ELSE (for /d /r "C:\Users" %%a in (*Folder*) do if exist "%%a" rmdir /s /q "%%a")
IF "%deletetype%" == "prompt" (for /d /r "C:\Documents and Settings" %%a in (*Folder*) do if exist "%%a" rmdir /s "%%a") ELSE (for /d /r "C:\Documents and Settings" %%a in (*Folder*) do if exist "%%a" rmdir /s /q "%%a")
正如你所看到的,它似乎太长了,只要我移动到其他地方或将其括起来,代码就会中断,我就被卡住了。我能做些什么来打破它
分成小块。谢谢大家!
谢谢你的帮助。我想知道我是否可以把这个应用到其他可能与缩短有关的句子中。我试着用下面这条线,但我又做不到了。我想知道您是否不能使用| |(失败时运行)和&(成功时运行)字符来实现这一点?也许换一种护发素
msiexec.exe /norestart /qn /x {3EBE26E0-8630-4351-B18F-06AB4067AC49} || Echo Driver Already Removed or Not Exist! && (pause) && If "%drvtype%" == "grundig" (goto drivers)
设法做到了这一点…谢谢
msiexec.exe /norestart /qn /x {07A1C1F1-52A2-49F4-A413-FF9A4FC3EDB6} || (
Echo Olympus Driver Already Removed or Not Exist! Press Space Bar to Continue
) && pause>nul && (If "%drvtype%" == "olympus" (goto drivers)
)
)
您可以这样编写脚本:
IF "%deletetype%" == "prompt" (
for /d /r "C:\test" %%a in (*Folder*) do (
if exist "%%a" rmdir /s "%%a"
)
) ELSE (
for /d /r "C:\test" %%a in (*Folder*) do (
if exist "%%a" rmdir /s /q "%%a"
)
)
if-else语句的关键是将else与if的右括号放在同一行。非常有效,谢谢!!作为理解的一点,括号是否使IF语句认为它在同一行上,但它不是真的?将其视为一条“逻辑线”。
cmd
解析器确实将其视为一行。