我有一台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
没有输出。此外,这都是交互式的,而不是批处理文件。 通常,它应该显示AppPools,以及在设置拼写错误时设置属性或错误的事实。
然后我继续验证为什么不输出
for /f %p in (c:\apppools.txt) do @echo %p
再也没有。 我转到另一个Windows 2008(它们实际上是sysprepped,因此被认为是相同的。两个命令都有效!
有没有人见过这样的东西,或者至少有类似的东西? 我以为这个服务器可能需要睡眠(重新启动),但这可能只能在周末使用,因为它是服务器。
感谢您的任何建议,
答案 0 :(得分:1)
如果从批处理文件中运行此操作,则需要使用另一个%转义for循环变量中的%。
for /f %%p in (c:\apppools.txt) do @echo %%p
修改强> 对不起,我刚才注意到你说它是互动的而不是批处理。
答案 1 :(得分:0)
可能是文件隐藏在一个系统而不是另一个系统上,或者如果隐藏在两个系统上,则隐藏文件在两个系统上的处理方式不同。
尝试结合已提供的评论。
for /f "delims=" %p in ('type c:\apppools.txt') do @echo %p