2

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 に移動します (これらは実際には sysprep されているため、同一であると見なされます。両方のコマンドが機能します!

誰かがこのような、または少なくとも同様のものを見たことがありますか? このサーバーにはスリープ (再起動) が必要かもしれないと考えていましたが、これはサーバーであるため、週末にのみ可能になる可能性があります。

ご提案ありがとうございます。

4

2 に答える 2

1

これをバッチ ファイル内から実行している場合は、for ループ変数の % を別の % でエスケープする必要があります。

for /f %%p in (c:\apppools.txt) do @echo %%p

編集 申し訳ありませんが、バッチではなくインタラクティブであるとあなたが言ったことに今気づきました。

于 2013-10-25T17:14:18.700 に答える
0

ファイルが一方のシステムで非表示になっていて、もう一方のシステムでは非表示になっていないか、または両方で非表示になっている場合は、2 つのシステムで非表示のファイルが異なる方法で処理されている可能性があります。

既に提供されているコメントを組み合わせて使用​​してみてください。

for /f "delims=" %p in ('type c:\apppools.txt') do @echo %p
于 2013-10-28T13:00:48.367 に答える