【问题标题】:Batch File select specify file that created/modified by today date at Windows Server 2008 R2 Enterprise批处理文件选择指定在 Windows Server 2008 R2 Enterprise 上创建/修改的文件
【发布时间】:2013-01-21 06:33:20
【问题描述】:
当我在 Windows Server 2008 上运行以下批处理时遇到问题,它会选择昨天和今天日期的那些文件,但我只想要今天。当我尝试在 Windows 7 上测试这个批处理文件时,它工作正常,它只会复制今天的文件。
那么是因为Windows不同还是代码?有什么建议吗??
我的批处理文件代码:
robocopy "D:\Program Files\My LogFiles\JobServer_01" "D:\Program Files\My LogFiles\LogDestination" s*.txt /MAXAGE:1
【问题讨论】:
标签:
batch-file
batch-processing
【解决方案1】:
您是否尝试过使用 vb 脚本?
使用 vb 处理基于日期的操作然后使用批处理调用相同的 vb 脚本要简单得多。
target="d:\path2\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "D:\path1"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
if (DateDiff("d",objFile.DateCreated, NOW)=<1) Then
objFSO.MoveFile objFile, target
Wscript.Echo objFile.Name & vbcrlf
end if
Next
将以上代码保存在 .vbs 文件中。用所需的文件夹替换 startfolder 和 target 变量。这将轮询今天创建的任何文件并将其复制到目标文件夹。