执行备份的批处理脚本

时间:2015-12-08 00:02:33

标签: batch-file windows-7 path

我是批处理脚本的初学者,我试图做一个要求文件路径的脚本,然后创建一个文件夹(在当前文件夹中),我想创建的文件夹名称就像" sav- DATE-TIME"(例如,现在该文件夹将命名为:sav-2015-12-07-18-55-00)然后复制用户文件路径在创建的文件夹中给出的文件。到目前为止我这样做了:

@ECHO OFF
SET /P pathh=Enter the path
SET foldname=sav%DATE%%TIME%
mkdir %foldname%
cd %foldname%
xcopy /s/e %pathh% %cd%
pause

然而,当我运行它时,无论我如何进入"或者'或路径周围什么也没有,它总是说道路不正确,还创建了一个随机数字(74,56,21 ...)作为文件夹名称的文件夹,我不明白为什么它不能正常工作,这意味着在问题的开头创建具有名称的文件夹,并且说路径始终不正确。

谢谢你!

2 个答案:

答案 0 :(得分:0)

扩展(使用)变量时需要使用引号。下面的第一组引用只是为了确保您没有任何尾随空白字符。试试这个:

@ECHO OFF
SET /P pathh=Enter the path
SET "foldname=sav-%DATE%-%TIME:~0,8%
SET "foldname=%foldname::=-%
echo foldname=%foldname%
rem mkdir "%foldname%"
rem cd "%foldname%"
rem xcopy /s/e "%pathh%" "%cd%"
pause

当它看起来很好时删除它

答案 1 :(得分:0)

set foldname=%date:~-4%-%date:~3,2%-%date:~0,2%:%time:~0,2%:%time:~3,2%,%time:~6,2%这应该给你2015-12-09-10:56,17

然后mkdir %foldname%