2017-03-08 7 views
0

"My Default Policy"というポリシー名を印刷したいとします。私は次のコマンドを使用していますが、この区切り文字はスペースであるため、「My」のみを表示します。区切り文字として新しい行を作成するにはどうすればよいですか?forループバッチスクリプトの区切り文字として新しい行

reg query "HKEY_LOCAL_MACHINE\Software\McAfee\DLP\Agent\Properties\Policy" | find "PolicyName" > tmp.txt 
for /F "tokens=3 delims= " %%f in (tmp.txt) do (echo "Policy Name:" %%f >> C:\mcafee.txt) 
+0

[この投稿](http://www.dostips.com/forum/viewtopic.php?t=6471)が役立つかもしれません。そして、[これ](http://stackoverflow.com/questions/15641301/new-line-as-a-delimeter-of-for-loop)も。 (可能な重複?) –

答えて

0

一時ファイルを作成する必要はありません。 FOR /F - Loop through the output of a command読む:ここ

for /F "tokens=2,*" %%f in (' 
    reg query "HKLM\Software\McAfee\DLP\Agent\Properties\Policy" ^| find /I "PolicyName" 
    ') do (echo "Policy Name:" %%g >> C:\mcafee.txt) 

  • tokens=2,*第二のトークンと3 +後続のすべてのアイテムを処理します。これはtokens=2*と書くこともできます。
  • delimsは、すべてのデフォルト区切り文字を受け入れるために省略されています:Syntax: Escape Characters, Delimiters and Quotesを読み込みます。
+0

完璧!どうもありがとうございます! – Sandy

関連する問題