Powershell 批处理循环执行命令,路径中有多个空格

Powershell 批处理循环执行命令,路径中有多个空格,powershell,batch-file,Powershell,Batch File,创建两个具有以下名称的文件夹 One Space Multiple Space 执行以下命令:- cd \ set "d=One Space" for /F "usebackq delims=#" %F in (`powershell -command "& {Get-ChildItem \"%d%\"}"`) do (echo %F) set "e=Multiple Space" for /F "usebackq delims=#" %F in (`

创建两个具有以下名称的文件夹

One Space
Multiple         Space
执行以下命令:-

cd \
set "d=One Space"
for /F "usebackq delims=#" %F in (`powershell -command "& {Get-ChildItem \"%d%\"}"`) do (echo %F)

set "e=Multiple         Space"
for /F "usebackq delims=#" %F in (`powershell -command "& {Get-ChildItem \"%e%\"}"`) do (echo %F)

有人能解释或提供执行路径有多个空格的命令的解决方案吗?

我认为您可以使用单引号来保留多个空格:

cd \
set "d=One Space"
for /F "usebackq delims=#" %F in (`powershell -command "& {Get-ChildItem \'%d%\'}"`) do (echo %F)

set "e=Multiple         Space"
for /F "usebackq delims=#" %F in (`powershell -command "& {Get-ChildItem \'%e%\'}"`) do (echo %F)

那么您想创建包含多个空格的文件夹?@gerhard。对实际的问题场景不同,但根本原因归结为文件路径中的连续空格。您的问题标题和标记是特定的,因为这是一个批处理文件问题。你的房间在哪里?您发布的是单独的命令,您确定使用反引号来更改中引号的行为是一个好主意吗。最后,你到底想达到什么目的,因为这个命令显然是不正确的,我怀疑问一个一般性的问题,并希望以后自己修改它是一个明智的想法。