为什么在使用 FOR 处理文件名列表时只输出文件名部分到第一个 space?

Why is just the file name part up to first space output on processing a file names list with FOR?

我正在尝试使用命令 vmrun list.

从 VMware 工作站列出 运行 虚拟机
for /F %%G in ('vmrun list') do echo %%~fG

问题是位于文件夹 VMWare Images 中的虚拟机映像类似于

"C:\VMWare Images\VMServer\My Test Server.vmx"

输出为

"C:\VMWare"

如何获得完整路径?
或者是否只有重命名我的文件夹和虚拟机的解决方案,以便它们的名称不包含任何 space?

您需要 "tokens=*" 才能获得整行,而不是第一个子字符串 space:

 for /F "tokens=*" %%G in ('vmrun list') do echo %%~fG