创建软链接

时间:2011-12-11 21:36:57

标签: file batch-file directory

我正在为我的媒体服务器编写一个脚本。我需要经历所有的事情 目录中的文件,然后最终在另一个文件夹中创建软链接以充当视频播放列表。我刚刚开始,我的批处理脚本已经出现问题了

@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

我该怎么做才能解决这个问题?一旦我有了文件,就很容易创建一个软链接。

2 个答案:

答案 0 :(得分:0)

只需在文件名周围添加引号:

Pushd "%%G"

答案 1 :(得分:0)

您可以使用简单的oneliner FOR循环替换所有BAT。

FOR /R G:\TV %%f in (*) do echo create soft link for %%f