将批处理脚本中变量中的文件夹内的所有文件名串联起来

维科

我正在尝试创建文件列表以作为参数传递给程序,但是我遇到了问题。

我想要的输出应该是: file1.jpg, file2.bmp, file3.docx

我要使用的蝙蝠是这样的:

SETLOCAL EnableDelayedExpansion
cd /D %~dp0
set _filelist=
for /f "delims=|" %%f in ('dir /b %CD%') do (
  set "_filelist=%_filelist%,%%f"
)
echo %_filelist%
pause

但是它仅输出列表中的最后一个文件: ,lastfile.xyz

我做错了什么?

IT暴徒忍者

似乎您只是忘记了将感叹号(“ !”)与您在循环内设置的变量一起使用,!_filelist!决定简单地使用而不是%_filelist%

下面的脚本将set _filelist=,使用单个逗号值设置初始变量,因此将是第一个迭代,,,然后是第一个迭代值,而不是空值再加上一个逗号,您将得到两个背对背逗号,从而可以使用一种独特的模式进行解析。

您可以使用“变量替换”功能来解析双逗号(,,),并将其替换为空白值。然后将从循环外部解析最终的迭代和设置变量值,并set _filelist=%_filelist:,,=%删除双逗号前缀值。

脚本

SETLOCAL EnableDelayedExpansion
cd /D %~dp0
set _filelist=,
for /f "delims=|" %%f in ('dir /b %CD%') do (
  set "_filelist=!_filelist!,%%f"
)
set _filelist=%_filelist:,,=%
echo %_filelist%
pause

延迟扩展将导致批处理文件中的变量在执行时而不是在解析时被扩展,此选项通过SETLOCAL EnableDelayedExpansion命令打开。 [1]


当延迟扩展生效时,可以使用!variable_name!立即读取变量。您仍然可以阅读并使用%variable_name%来显示初始值(在行首扩展)。 [1]


更多资源

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将文件名插入多个子文件夹中的文件的批处理脚本

来自分类Dev

批处理文件,用于获取文件夹中的所有文件名

来自分类Dev

使用所有文件名的列表,输出缺少的文件名(如果文件夹中未包含)(批处理脚本)

来自分类Dev

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

来自分类Dev

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

来自分类Dev

使用批处理文件为所有子文件夹中的所有文件名添加前缀

来自分类Dev

Bash脚本从文件夹中的所有文件名中删除字符

来自分类Dev

Bash脚本从文件夹中的所有文件名中删除字符

来自分类Dev

将随机文件夹存储在批处理脚本中?

来自分类Dev

将特定文件夹内的所有文件和文件夹复制到批处理文件中

来自分类Dev

在批处理文件的单个变量中添加所有cpp文件名

来自分类Dev

如何使用Windows批处理脚本从文件夹“ A”中删除文件夹“ B”中不存在的所有文件/文件夹?

来自分类Dev

从所有文件名中删除括号和空格的批处理脚本

来自分类Dev

窗口批处理文件-无法在指定的文件夹中获取文件名

来自分类Dev

批处理逐行列出txt文件中文件夹中的文件名

来自分类Dev

python将文件夹名称附加到所有子文件夹中的文件名

来自分类Dev

python将文件夹名称附加到所有子文件夹中的文件名

来自分类Dev

如何删除Windows批处理脚本中除一个文件夹外的文件夹中的所有文件夹?

来自分类Dev

Bash脚本处理文件夹中的所有文件并将所有输出保存到具有相同文件名的不同文件夹中?

来自分类Dev

批处理:如果源文件夹中的文件名包含x,请移至x目标文件夹

来自分类Dev

使用批处理脚本检查文件夹中是否存在具有某些文件扩展名的文件

来自分类Dev

使用批处理脚本检查文件夹中是否存在具有某些文件扩展名的文件

来自分类Dev

Windows批处理脚本-将文件名读入变量

来自分类Dev

将文件夹中的每个文件移动到以该文件命名的自己的文件夹中的批处理脚本?

来自分类Dev

删除Windows命令提示符或批处理脚本中除一个文件夹以外的文件夹中的所有文件?

来自分类Dev

使用批处理删除文件夹中除列表中的文件以外的所有文件

来自分类Dev

使用批处理删除文件夹中除列表中的文件以外的所有文件

来自分类Dev

根据批处理脚本中的文件名忽略文件

来自分类Dev

从给定文件夹中的所有文件名中删除所有非法字符

Related 相关文章

  1. 1

    将文件名插入多个子文件夹中的文件的批处理脚本

  2. 2

    批处理文件,用于获取文件夹中的所有文件名

  3. 3

    使用所有文件名的列表,输出缺少的文件名(如果文件夹中未包含)(批处理脚本)

  4. 4

    将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

  5. 5

    将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

  6. 6

    使用批处理文件为所有子文件夹中的所有文件名添加前缀

  7. 7

    Bash脚本从文件夹中的所有文件名中删除字符

  8. 8

    Bash脚本从文件夹中的所有文件名中删除字符

  9. 9

    将随机文件夹存储在批处理脚本中?

  10. 10

    将特定文件夹内的所有文件和文件夹复制到批处理文件中

  11. 11

    在批处理文件的单个变量中添加所有cpp文件名

  12. 12

    如何使用Windows批处理脚本从文件夹“ A”中删除文件夹“ B”中不存在的所有文件/文件夹?

  13. 13

    从所有文件名中删除括号和空格的批处理脚本

  14. 14

    窗口批处理文件-无法在指定的文件夹中获取文件名

  15. 15

    批处理逐行列出txt文件中文件夹中的文件名

  16. 16

    python将文件夹名称附加到所有子文件夹中的文件名

  17. 17

    python将文件夹名称附加到所有子文件夹中的文件名

  18. 18

    如何删除Windows批处理脚本中除一个文件夹外的文件夹中的所有文件夹?

  19. 19

    Bash脚本处理文件夹中的所有文件并将所有输出保存到具有相同文件名的不同文件夹中?

  20. 20

    批处理:如果源文件夹中的文件名包含x,请移至x目标文件夹

  21. 21

    使用批处理脚本检查文件夹中是否存在具有某些文件扩展名的文件

  22. 22

    使用批处理脚本检查文件夹中是否存在具有某些文件扩展名的文件

  23. 23

    Windows批处理脚本-将文件名读入变量

  24. 24

    将文件夹中的每个文件移动到以该文件命名的自己的文件夹中的批处理脚本?

  25. 25

    删除Windows命令提示符或批处理脚本中除一个文件夹以外的文件夹中的所有文件?

  26. 26

    使用批处理删除文件夹中除列表中的文件以外的所有文件

  27. 27

    使用批处理删除文件夹中除列表中的文件以外的所有文件

  28. 28

    根据批处理脚本中的文件名忽略文件

  29. 29

    从给定文件夹中的所有文件名中删除所有非法字符

热门标签

归档