如何输出用引号括起来的文件名列表?

如何输出用引号括起来的文件名列表?

在 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

相关内容