For loop 使用batch for loop,如何从元素列表中选择由多个名称组成的元素,这些名称之间用空格分隔?
从元素列表中,通过for循环,我可以选择一个元素。这里有一个例子For loop 使用batch for loop,如何从元素列表中选择由多个名称组成的元素,这些名称之间用空格分隔?,for-loop,batch-file,For Loop,Batch File,从元素列表中,通过for循环,我可以选择一个元素。这里有一个例子 SET _list=Desktop Downloads Images Links FOR %%k in (%_list%) DO ( ECHO FolderName=%%k ) PAUSE 如果列表中的每一项仅由一个单词组成,那么一切都会起作用。下面是一个输出示例: FolderName=Desktop FolderName=Downloads FolderName=Images FolderName=Links 如
SET _list=Desktop Downloads Images Links
FOR %%k in (%_list%) DO (
ECHO FolderName=%%k
)
PAUSE
如果列表中的每一项仅由一个单词组成,那么一切都会起作用。下面是一个输出示例:
FolderName=Desktop
FolderName=Downloads
FolderName=Images
FolderName=Links
如果列表项由两个用空格分隔的单词组成,我会遇到一些问题
这是一个使用双引号的示例:
SET _list=Desktop Downloads Images Links "Saved Games"
输出:
FolderName=Desktop
FolderName=Downloads
FolderName=Images
FolderName=Links
FolderName="Saved Games"
这是一个使用单引号的示例:
SET _list=Desktop Downloads Images Links 'Saved Games'
输出:
FolderName=Desktop
FolderName=Downloads
FolderName=Images
FolderName=Links
FolderName='Saved
FolderName=Games'
如何选择由多个名称组成的元素,这些名称之间用空格分隔
我想得到这样的东西:
FolderName=Saved Games
如果您阅读了
for
命令的帮助,那么这是一个简单的解决方案<代码>ECHO FolderName=%%~k来自帮助:此外,变量引用的替换功能得到了增强。现在可以使用以下可选语法:%~I-expansed%I删除任何周围的引号(“)它是有效的。我阅读了for
帮助,但我误解了它。非常感谢!如果您阅读了for
命令的帮助,那么这是一个简单的解决方案。ECHO FolderName=%%~k
来自帮助:此外,变量引用的替换功能得到了增强。您现在可以使用以下可选语法:%~I-expands%I删除任何周围的引号(“)即可。我阅读了以获得帮助,但我误解了它。非常感谢你!