我正在为我的媒体服务器编写一个脚本。我需要经历所有的事情 目录中的文件,然后最终在另一个文件夹中创建软链接以充当视频播放列表。我刚刚开始,我的批处理脚本已经出现问题了
@echo off
SetLocal EnableDelayedExpansion
set TV="G:\TV"
FOR /R %TV% %%G in (.) DO (
Pushd %%G
Echo now in %%G
for /f %%f IN ("dir /b") do (
Echo %%f
)
Popd )
Echo "back home"
)
这会为每个文件生成一个列表,但文件名会在任何空格后删除!它看起来像这样:
now in G:\TV\UCB\UCB Season 3\.
Upright
Upright
Upright
Upright
...
now in G:\TV\Venture Bros\Season 3\.
File Not Found
now in G:\TV\Venture Bros\Season 4\.
The.Venture.Bros.S04E03.HDTV.XviD-2HD.avi
The.Venture.Bros.S04E04.HDTV.XviD-2HD.avi
The.Venture.Bros.S04E05.HDTV.XviD-2HD.avi
我该怎么做才能解决这个问题?一旦我有了文件,就很容易创建一个软链接。
答案 0 :(得分:0)
只需在文件名周围添加引号:
Pushd "%%G"
答案 1 :(得分:0)
您可以使用简单的oneliner FOR
循环替换所有BAT。
FOR /R G:\TV %%f in (*) do echo create soft link for %%f