繁体   English   中英

使用cmd备份文件夹

[英]backup folders using cmd

我正在尝试使用 cmd 制作备份脚本。 到目前为止,这是我的代码:

X:
MKDIR "2017MMDD XXX Restore Profile"
CD "X:\2017MMDD XXX Restore Profile"
MKDIR "Desktop"
MKDIR "Favorites"
MKDIR "My Documents"
MKDIR "Pictures"
MKDIR "Videos"
XCOPY "C:\Users\%username%\Desktop" "X:\2017MMDD XXX Restore    Profile\Desktop"
XCOPY "C:\Users\%username%\Favorites" "X:\2017MMDD XXX Restore Profile\Favorites"
XCOPY "C:\Users\%username%\Documents" "X:\2017MMDD XXX Restore Profile\My Documents"
XCOPY "C:\Users\%username%\Pictures" "X:\2017MMDD XXX Restore Profile\Pictures"
XCOPY "C:\Users\%username%\Videoes" "X:\2017MMDD XXX Restore Profile\Videos"



Pause

问题是它只复制文件而不是文件夹(如果有的话)。 我需要一个可以复制文件和文件夹的函数。

奖金,是否有任何命令让 cmd 写入日期? (而不是2017MMDD,你需要填写其余部分):)

回答您的日期部分问题:命令date /t可以为您提供当前日期。 该命令的“快捷方式”是动态环境变量%date% (仅当您没有使用其他值覆盖该变量时)。 如果将两者之一与for f结合使用for f您可以根据日期格式轻松提取年、月和日。 在向您展示解决方案之前,我必须警告您: date /t命令和%date%变量返回日期的格式取决于您的设置(我认为位置和/或语言设置,可能取决于 Windows版本)。 在我的例子中,格式是dd DD/MM/YYYY其中:

  • dd星期几名称的两个字母
  • DD月份的当前日期(2 位数字格式)
  • MM当年的当前月份(2 位数字格式)
  • YYYY当前年份(4 位数字格式)

所以在我这边,为了获得日期、月份和年份,我必须以这种方式使用for f :使用/ (空格)作为分隔符并提取分别代表日、月和年的第 2、第 3 和第 4 个字段。

@echo off

for /f "tokens=2-4 delims=/ " %%G IN ("%date%") DO (
    set day=%%G
    set month=%%H
    set year=%%I
)
echo day:   %day%
echo month: %month%
echo year:  %year%

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM