我是批处理脚本的初学者,我试图做一个要求文件路径的脚本,然后创建一个文件夹(在当前文件夹中),我想创建的文件夹名称就像" 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 ...)作为文件夹名称的文件夹,我不明白为什么它不能正常工作,这意味着在问题的开头创建具有名称的文件夹,并且说路径始终不正确。
谢谢你!答案 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%