0

%PATH% 環境変数で定義されている各項目を 1 行で表示したいと考えています。私は以下を使用しました

for %A in ("%path:;=" "%") do @echo %A

各項目を 1 行で返しますが、以下に示すように二重引用符で囲みます。

"C:\Windows\System32"
"C:\Windows\system32\Wbem"
"C:\Windows\System32\WindowsPowerShell\v1.0\"

二重引用符なしでそれらを印刷するにはどうすればよいですか? コマンドで一重引用符を使用しようとしましたが、うまくいきませんでした。(%PATH% の一部の全体パスにスペースが含まれています)

4

1 に答える 1

3
ECHO %path:;=&ECHO(%

:) :)


拡張用に編集します。

構文はすべてをwithin に%var:string1=string2%置き換えるため、このコマンドは次のように解決されます。string1string2var

echo directory1&echo(directory2&echo(directory3...

at each;は、 のディレクトリ名間で使用されるセパレータ%path%です。

これecho(はトリック コンストラクトです。に続いて、ある程度無視される多くの文字がありますechoSPACEが最も一般的ですが、コマンドは状態ECHOを表示しECHOます - ECHO is on/off. ECHO(ただし、何も表示されません ( に続く文字を除く()。

たまたま、私のpath終了は;so&echoで置き換えられた;場合、行は解決され、最後の行として状態が....echo dirlast&echo生成されます。ECHOきちんと使用echo(すると、この問題が解決されます。

于 2013-06-26T07:09:22.843 に答える