Windows バッチ ファイルを作成してからしばらく経ちましたが、すべてを忘れてしまったようです。私がやりたいことは、パスにスペースが含まれているが文字列が引用符で囲まれていないサービスを探すことです。男の子、これはbashで簡単ですが...
つまり、簡単に言うと、まずsc query | findstr SERVICE_NAME
それを一時ファイルにダンプします。次に、それを変数に読み込んでfor /F "tokens=2" %%f in (temp_file) do set services=!services! %%f
、ホスト上のすべてのサービスをスペースで区切ったリストを持つ変数を取得します。次に、その変数に対する FOR ループで、 sc qc %%s | findstr BINARY_PATH_NAME
THAT を実行して一時ファイルにダンプします。それは次のようなものを含んでしまいます(引用符はすべてのスペースを保持するために私のものです):
" BINARY_PATH_NAME : C:\Windows\system32\svchost.exe -k LocalSystemNetworkRestricted"
私は読んで、グーグルで、テストして、すべてを試して、その出力を:
. しかし、その文字列を分割することはできません。