执行备份的批处理脚本
Batch script that do a backup
我是批处理脚本的初学者,我正在尝试做一个要求文件路径的脚本,然后创建一个文件夹(在当前文件夹中),我希望创建的文件夹名称类似于 "sav-DATE-TIME"(例如,现在该文件夹将被命名为:sav-2015-12-07-18-55-00)然后复制用户文件路径给定的文件到创建的 folder.So far 我是这样做的:
@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...) 作为文件夹名称,我不明白为什么它不能正常工作,这意味着创建名称如问题开头所述的文件夹,并且还说路径总是不正确。
谢谢!
展开(使用)变量时需要加引号。下面的第一组引号只是为了确保您没有任何尾随的白色 space 字符。试试这个:
@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
当它看起来不错时删除 rem
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%
我是批处理脚本的初学者,我正在尝试做一个要求文件路径的脚本,然后创建一个文件夹(在当前文件夹中),我希望创建的文件夹名称类似于 "sav-DATE-TIME"(例如,现在该文件夹将被命名为:sav-2015-12-07-18-55-00)然后复制用户文件路径给定的文件到创建的 folder.So far 我是这样做的:
@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...) 作为文件夹名称,我不明白为什么它不能正常工作,这意味着创建名称如问题开头所述的文件夹,并且还说路径总是不正确。
谢谢!
展开(使用)变量时需要加引号。下面的第一组引号只是为了确保您没有任何尾随的白色 space 字符。试试这个:
@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
当它看起来不错时删除 rem
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%