1
應該很容易。我做了一個批處理,但我認爲它包含過長的句子。我不得不使用括號,但很快意識到我不明白我在做什麼。任何提示都非常好。避免批處理文件中的長行代碼
下面是代碼
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")
正如你可以看到它似乎太長,只要我移動到任何地方ELSE或支架它,代碼休息和我被困。我能做些什麼來將它分解成更小的塊。謝謝!
感謝您在這裏的所有幫助。我想知道我是否可以將此應用於其他可縮短縮短的句子。我嘗試了下面的這一行,但我再次陷入了深度。我想知道你是否不能用||來做這件事(運行失敗)& &(運行成功)字符?也許使用不同的護髮素?
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聲明在同一行上考慮它,但它不是真的嗎? – Tika9o9
認爲它是一個「邏輯線」。 'cmd'解析器的確把它當作一行。 – Stephan