我的脚本创建备份当前目录中的所有文件如下:
@echo off
set year= %date:~10,4%
set month = %date:~4,2%
set day = %date:~7,2%
set folder= %date:~4,2%-%date:~7,2%-%date:~10,4%
if not exists "%CD%"\%folder%
(
xcopy "%CD%" "%CD%"\%folder%\ /l /v /s /t /i /y
)
但这总是给我 " C:\ Documents and Settings \ username \ Desktop" \目前是意料之外的。
任何人都可以指导我朝正确的方向发展
答案 0 :(得分:1)
您应该将整个路径用双引号括起来,而不仅仅是它的一部分。而不是
"%CD%"\%folder%
最有可能是
"%CD%\%folder%"
但无论如何,我认为您无法将文件夹的内容复制到其自己的子文件夹中。
另一件事是,它应该是IF NOT EXIST …
。
答案 1 :(得分:1)
if exist
检查是否存在FILE。如果你想检查一个文件夹,使用NUL文件名需要一个小技巧,它总是存在于任何文件夹和任何扩展名中:
if not exist "%CD%\%folder%\NUL" ...
我希望它有所帮助
安东尼奥
PS - 我可以建议您另一种方法来创建文件夹名称吗?
for /F "tokens=1-3 delims=/" %%a in ("%date%") do set folder=%%a-%%b-%%c