使用网络驱动器我试图使用变量访问文件夹。我只获取上一个文件夹的内容。

时间:2014-09-08 13:33:17

标签: cmd

我在联网驱动器上有一个位置,该位置获取包含每个文件的当前日期的文件夹。我试图通过临时映射驱动器(Net Use)然后使用日期填写文件夹名称来访问此位置。

当我执行代码时,它被设置为上一个目录。 (DIR列表将显示该文件夹的内容,其余代码将移动文件放在该位置)

有什么想法吗? 感谢

PAUSE
REM This is to move the Export file to the FTP Site. 

Set Year_Mo_Da=%date:~10,4%-%date:~4,2%-%date:~7,2%

time /t

net use z: \\Network.com\Validation\2014
REM \%Year_Mo_Da%  -- This is the folder name 

cd /d z:\%%Year_Mo_Da%%
DIR

Copy Z:\*FileName_*.* Y:\NewLocation\TEST
net use z: /delete

time /t
PAUSE

2 个答案:

答案 0 :(得分:1)

这里你不需要加倍:

cd /d "z:\%Year_Mo_Da%"

根据您的需要 - 这可能是下一个命令:

Copy "*FileName_*.*" "Y:\NewLocation\TEST"

答案 1 :(得分:1)

您正在更改目录,但毕竟是从根目录复制。 @foxidrive删除了反斜杠,但是当你做出改变时可能没有注意到它?

cd /d z:\%%Year_Mo_Da%%

...你在子目录

Copy Z:\*FileName_*.* Y:\NewLocation\TEST

...但你毕竟从Z的 root 复制了。

这样可行(引用当然不会受到伤害,但除非您的文件名包含空格,否则不需要此示例):

Copy Z:*FileName_*.* Y:\NewLocation\TEST

BTW我倾向于使用pushdpopd所以我不必知道驱动器号。不知道这对你有没有帮助,但你也不必net use /d,或者关心Z:是否正在使用其他东西。

pushd \\Network.com\Validation\2014\%Year_Mo_Da%
Copy *FileName_*.* Y:\NewLocation\TEST
popd