"错误的命令行参数#34;如何处理文件名中的空格

时间:2014-04-13 01:50:23

标签: command-line-arguments

我正在尝试运行一个名为fsbext.exe的程序,以便将数千个音频文件(从.fsb类型转换为.wav)转换,每个文件名为00.fsb,01.fsb等。 但是其中一些名为00(1).fsb,00(2).fsb等,也就是说,它们的名称包含空格。

当我输入

for(a。* .fsb“)中的%a执行fsbext -A%a

在cmd提示符下,程序成功运行(当位于音频文件的同一文件夹中时)并根据需要将00.fsb类型的所有文件转换为wave文件,之外其中一些文件的名称中有空格,如“00(1).fsb”,在这种情况下,我收到以下消息:

错误:错误的命令行参数(00)

如何更改命令行以便它可以处理名称中有空格的文件(请注意,重命名它们不是一个选项,因为它们有数千个,尽管我可以写一个简短的程序来做那,但我想问如何处理第一个问题会更容易)。

由于

1 个答案:

答案 0 :(得分:3)

您应该将您的行更改为:

for %a in ("*.fsb") do fsbext -A "%a"

这样fsbext会知道引号中的任何内容都是一个参数。目前它认为你传递了额外的论据。