将字符添加到目录输出

将字符添加到目录输出

有什么方法可以添加字符到dir输出中吗?

例如

C:\temp\temp>dir /B

输出:

文件1.txt

文件2.txt

我希望它添加单词“文件”并用单引号括住文件名(在批处理文件中)

希望/预期的输出是:

文件‘file1.txt’

文件‘file2.txt’

最后,我将使用 > 将其导出到 txt 文件,然后将该文本文件作为参数传递给 ffmpeg。我试过了但是我无法在行首添加字符。

似乎这应该是一个相当常见的用例,列出目录中的文件以用于输入到另一个程序中。但我怎样才能在那里得到这些额外的字符呢?(“文件”和单引号)

答案1

我希望它添加单词“文件”,并用单引号括住文件名

使用以下批处理文件(test.cmd):

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%f in ('dir /b') do (
  echo file '%%f'
  )
endlocal

使用示例:

F:\test\test>dir
 Volume in drive F is Seagate 1
 Volume Serial Number is 1A87-3A15

 Directory of F:\test\test

16/04/2020  22:20    <DIR>          .
16/04/2020  22:20    <DIR>          ..
10/06/2020  18:17                 0 file1.txt
10/06/2020  18:17                 0 file2.txt
               2 File(s)              0 bytes
               2 Dir(s)  44,023,545,856 bytes free

F:\test\test>..\test.cmd
file 'file1.txt'
file 'file2.txt'
F:\test\test>

导出到文本文件(例如test.out):

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%f in ('dir /b') do (
  echo file '%%f' >> test.out
  )
endlocal

使用示例:

F:\test\test>..\test.cmd
F:\test\test>type test.out
file 'file1.txt'
file 'file2.txt'

F:\test\test>

进一步阅读

相关内容