String CMD由于字符串分割而无法移动文件

String CMD由于字符串分割而无法移动文件,string,batch-file,for-loop,cmd,String,Batch File,For Loop,Cmd,我正在尝试格式化我的U盘,以便在我的汽车中用作音乐数据库。 然而,我的收音机一次只能播放一个文件夹,所以我认为将一个艺术家的所有标题移动到该艺术家的文件夹会有所帮助 因为这就像32GB的音乐,这将是大量的手工工作 我想出了以下脚本来完成这项工作(G:\作为USB驱动器) 到目前为止,这是可行的,但是'dirg:\/B/A:D'命令最终以这种方式分割文件夹名称:“文件夹名称”->“文件夹”。因此,出于某种原因,它基本上只是拾取第一个单词 请提供帮助。的元变量是批处理中少数几个区分大小写的地方之一。

我正在尝试格式化我的U盘,以便在我的汽车中用作音乐数据库。 然而,我的收音机一次只能播放一个文件夹,所以我认为将一个艺术家的所有标题移动到该艺术家的文件夹会有所帮助

因为这就像32GB的音乐,这将是大量的手工工作

我想出了以下脚本来完成这项工作(G:\作为USB驱动器)

到目前为止,这是可行的,但是
'dirg:\/B/A:D'
命令最终以这种方式分割文件夹名称:“文件夹名称”->“文件夹”。因此,出于某种原因,它基本上只是拾取第一个单词


请提供帮助。

元变量是批处理中少数几个区分大小写的地方之一。
%%D
mst与
%%D
匹配,反之亦然


(但最好在
FOR/f
和元变量之间包含
“delims=“
”)以确保将整个字符串分配给元变量。

更改外部FOR命令:

for /f "tokens=*" %%T in ('dir /b /a:d "G:\"') DO (
 ...
)
for /f "tokens=*" %%T in ('dir /b /a:d "G:\"') DO (
 ...
)