windows%PATH%变量 - 如何拆分';' 再次在CMD shell中

Chr*_*ian 8 windows for-loop cmd path batch-file

我刚检查了stackoverflow,它似乎非常有用,并且在Windows XP上运行良好.但是使用Windows 7它并不适用于某些不明原因.

PATH变量看起来是这样的

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\
Run Code Online (Sandbox Code Playgroud)

它显然包含\以及我用于分割包含此FOR循环的批处理的分号:

   FOR /F "delims=;" %%A IN ("%PATH%") DO (
      echo %%A
   )
Run Code Online (Sandbox Code Playgroud)

执行不会导致任何错误,但它只提供一个(第一个)令牌

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
Run Code Online (Sandbox Code Playgroud)

我不知道为什么FOR会终止并玩弄网上建议的几个变种但没有完成这项工作.

任何帮助将受到高度赞赏.

基督教

roj*_*ojo 18

你可以这样做.

for %%A in ("%path:;=";"%") do (
    echo %%~A
)
Run Code Online (Sandbox Code Playgroud)

(来源)

你拥有它的方式的问题是,使用for /F开关, %%A只指定第一个标记.你必须这样做for /f "tokens=1-9 delims=;" %%A in ("%PATH%")%%A通过%%I这种方式阅读.

  • @Christian - 请[正式接受我的回答](http://meta.stackexchange.com/questions/5234)如果有帮助的话. (6认同)

归档时间:

查看次数:

7571 次

最近记录:

8 年,10 月 前