在 Windows 命令提示符中,我可以使用目录命令输出目录内所有 PNG 文件的名称:
dir *.png /od /b > files.txt
file 1.png
file 2.png
...
但是,我正在处理的图像文件包含空格文件名中,因此无法与 ImageMagick 配合使用,除非我将其名称括在引号,像这样:
"file 1.png"
"file 2.png"
...
解决这个问题的最佳方法是什么?
是否有一个命令可以列出用引号括起来的文件名?
或者我需要在创建 txt 文件后添加它们?
答案1
您可以使用FOR /F
运行该DIR
命令并用引号括住输出:
这是来自提示
for /f "delims=" %A in ('dir /b /od *.png') do @echo "%A"
在批处理脚本中,您需要将百分号加倍,因此在两个地方%A
都变成。%%A
答案2
使用 PowerShell 的方法:
(dir *.png | sort creationTime | % {"`"$($_.name)`""}) >>files.txt
*.png
使用 进行过滤Get-ChildItem
。- 按 排序
CreationTime
。 Foreach
使用循环将双引号添加到它们的名称中- 然后使用运算符将它们写入
files.txt
。