Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Robocopy脚本,该脚本在目标中创建了带有日期的文件夹_Batch File_Vbscript_Robocopy - Fatal编程技术网

Batch file Robocopy脚本,该脚本在目标中创建了带有日期的文件夹

Batch file Robocopy脚本,该脚本在目标中创建了带有日期的文件夹,batch-file,vbscript,robocopy,Batch File,Vbscript,Robocopy,我试图写一个脚本,每周晚上复制一个文件夹。我希望它每天晚上在目标目录中创建一个文件夹 所以我试着制作一个脚本 “C:\logs”到“I:\logs\今天的日期” 所以目标文件夹应该如下所示 “I:\logs\Monday\u 1272014” 第二天晚上应该是这样的 “I:\logs\sunday\u 1282014” 每个工作日都是如此。我不确定我说的是否有道理,但如果有任何帮助,我将不胜感激 到目前为止,我已经为Robocopy脚本准备了以下内容: robocopy“E:\Batch Fil

我试图写一个脚本,每周晚上复制一个文件夹。我希望它每天晚上在目标目录中创建一个文件夹

所以我试着制作一个脚本 “C:\logs”到“I:\logs\今天的日期”

所以目标文件夹应该如下所示

“I:\logs\Monday\u 1272014” 第二天晚上应该是这样的 “I:\logs\sunday\u 1282014”

每个工作日都是如此。我不确定我说的是否有道理,但如果有任何帮助,我将不胜感激

到目前为止,我已经为Robocopy脚本准备了以下内容: robocopy“E:\Batch Files”“I:\Backups\Monday”/MIR

但这只会创建一个名为Monday的文件夹。任何帮助都将不胜感激。而且,它不一定是机器人式的。我只是用它,因为它是我唯一知道的。我不介意学习如何将其作为批处理文件或VB脚本


谢谢

此代码的前四行将在XP Pro及更高版本中为您提供可靠的YY DD MM YYYY HH Min Sec变量

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%"
更改
%yyyy%
%mm%
%dd%
的顺序以适合您,然后您可以将变量添加到Robocopy:

robocopy "E:\Batch Files" "I:\Backups\%datestamp%" /MIR
@ECHO OFF&SETLOCAL enableDelayedExpansion
对于%%a IN(星期一、星期二、星期三、星期四、星期六、星期日),请设置/a cnt+=1并设置“DOW!cnt!=%%a”
对于('wmic路径win32_currenttime get Day^,Month^,Year^,DayOfWeek^ findstr/v^$”)中的/f“令牌=1-4”%%a,请执行以下操作(
如果%%a LEQ 9(设置为“Day=0%%a”),则设置为“Day=%%a”
如果%%c LEQ 9(设置为“月=0%%c”),则设置为“月=%%c”
设置“年=%%d”
设置“DayOfWeek=%%b”
)
ECHO(机器人复制“E:\Batch Files”“I:\logs\!DOW%DayOfWeek%!\uOfWeek%%Day%%Month%%Year%“/MIR
这在XP Home中不起作用


日志文件使用的命名约定是什么?抱歉,它不允许我粘贴输出…太多字符。您是如何粘贴屏幕快照的?只需单击图片图标。2014/01/28 00:14:10错误267(0x0000010B)正在创建目标目录I:\Bac kups\%dt:~4,2%DD%yyyyy\n目录名无效。您弄乱了变量。显然您有不支持WMIC的XP Home。让它正常工作。我必须更改:for/f“tokens=2 delims=”%a in('WMIC OS Get localdatetime/value')将“dt=%a”设置为for/f“tokens=2 delims=”%a in('wmic OS Get localdatetime/value')确实设置了“dt=%a”我在Windows 7 PRO x64上我让脚本工作,但现在我有另一个问题。我将它保存为test_script.bat。当我双击.bat文件时,什么都没有发生。我做错了什么?我正在运行Windows 7 PRO x64。我将该文件放入记事本中,并将其“另存为”“所有文件”并命名“test_script.bat”