[英]Windows batch For loop not working on one server, working on other
我有Windows 2008 Server(非R2); 我試圖根據應用程序池列表修改屬性(/ AppPool / maxProcesses)。 所以我這樣做:
set appcmd=c:\Windows\system32\inetsrv\appcmd.exe
for /f %p in (c:\apppools.txt) do @%appcmd% set apppool %p /processmodel.maxProcesses:2
無輸出。 而且,這都是交互式的,而不是批處理文件。 通常,它應該顯示AppPool,以及它正在設置屬性的事實,或者在輸入錯誤的情況下顯示錯誤。
然后我繼續驗證為什么不輸出
for /f %p in (c:\apppools.txt) do @echo %p
沒事了 我轉到另一個Windows 2008(它們實際上是sysprep的,因此被認為是相同的。兩個命令都可以!
有沒有人看過類似或至少類似的東西? 我當時以為這台服務器可能需要睡眠(重新啟動),但這可能只能在周末進行,因為它是服務器。
感謝您的任何建議,
如果從批處理文件中運行此文件,則需要用另一個%對for循環變量中的%進行轉義。
for /f %%p in (c:\apppools.txt) do @echo %%p
編輯對不起,我剛才注意到你說,這是互動的,而不是一批。
可能是文件在一個系統上被隱藏,而不是在另一個系統上被隱藏,或者如果文件在兩個系統上都被隱藏,則隱藏的文件在兩個系統上的處理方式有所不同。
嘗試結合使用已提供的注釋。
for /f "delims=" %p in ('type c:\apppools.txt') do @echo %p
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.