user44212
user44212

Reputation: 13

"wrong command-line argument" how to deal with space in file name

I am trying to run a program called fsbext.exe in order to convert several thousands of audio files (from .fsb type to .wav), each named say 00.fsb, 01.fsb etc. However some of them are named 00 (1).fsb, 00 (2).fsb etc., that is, their name contain spaces.

When I type

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

in a cmd prompt the program runs successfully (when located in the same folder of the audio files) and converts all the files of the type 00.fsb to wave files, as desired, except if some of these files have space in their names, like "00 (1).fsb" in which case I get the following message:

Error: wrong command-line argument (00)

How could I change the command line so that it can deal with files that have space in their names (note that renaming them isn't an option since there are thousands of them, although I could write a short program to do just that, but I figured asking how to deal with the first issue would be easier).

Thanks

Upvotes: 1

Views: 713

Answers (1)

Daniel Gabriel
Daniel Gabriel

Reputation: 3985

You should change your line to:

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

This way fsbext will know that whatever is in quotes is all one argument. Currently it thinks that you are passing it an extra argument.

Upvotes: 3

Related Questions