我在联网驱动器上有一个位置,该位置获取包含每个文件的当前日期的文件夹。我试图通过临时映射驱动器(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
答案 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我倾向于使用pushd
和popd
所以我不必知道驱动器号。不知道这对你有没有帮助,但你也不必net use /d
,或者关心Z:
是否正在使用其他东西。
pushd \\Network.com\Validation\2014\%Year_Mo_Da%
Copy *FileName_*.* Y:\NewLocation\TEST
popd