簡體   English   中英

Windows批處理For循環不適用於一台服務器,而適用於另一台服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM