所以嘗試一下本作循環在你的Windows中ICACLS就給處理失敗的錯誤在DOS for循環
for /f "tokens=1,2 delims==" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do dir %b
這只是正常的我,但是當我使用icacls命令dir而不是我得到一個錯誤上面寫着ICACLS無法處理
for /f "tokens=1,2 delims==" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do icacls %b
如果我在它只是罰款一次運行鍼對任何一個輸出的ICACLS
icacls c:\windows\ehome\ehrecvr.exe
我也呼應命令只是爲了確保一切看起來都沒什麼問題,它
for /f "tokens=1,2 delims==" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do @echo icacls %b
什麼建議嗎?
您沒有閱讀過Ed的文章! [wmic corrupted stdout](http://www.dostips.com/forum/viewtopic.php?f=3&t=2927)。 'wmic'在最後附加一個回車符,而你的'CALL'將其刪除 – jeb 2012-02-28 10:39:22
dbenham, 感謝您的反饋。我想不出爲什麼這會失敗,但調用「do call icacls%b」,或者我可以從朋友那裏「執行cmd.exe/c icacls%b」。我的朋友建議輸出到帶有「for/f」標記= 2 delims ='='「%a的文本文件('wmic service list full^| find/i」路徑名「^ | find/i/v」system32「')執行@echo%a >> c:\ windows \ temp \ calcs.txt」然後用這行解析該輸出「for/fol e = ^」^ delims (c:\ windows \ temp \ calcs.txt)中執行cmd.exe/c cacls「%a」「^ = ^」%a。所以希望能幫助別人。 – teedubb 2012-02-28 18:39:13