文件夹的文件名里含有时间变量,如何用dos命令实现复制文件夹里的文件操作?
copy P:\1\2011100112\d02\* P:\2
如例所例举,2011100112这个文件夹随时间变化,逐日增加一个文件夹,我现在要把P:\1\yyyymmddhh\d02\下所有文件拷贝到P:\2 下,请问用dos命令是什么处理方法?能否给出示范样本?
P:\1\2011100112\里除了d02文件夹还有d03文件夹,时间子文件夹里还有子目录,我要把d02文件夹的所有文件复制到2文件夹里,所以其实我的批量是这样的,请问要怎么做?
copy P:\1\2011100112\d02\* P:\2
copy P:\1\2011100212\d02\* P:\2
copy P:\1\2011100312\d02\* P:\2
copy P:\1\2011100412\d02\* P:\2
copy P:\1\2011100512\d02\* P:\2
…… 展开
'如果 \1\下面的文件夹全是以日期命名的话,可以用如下代码完成
'否则,可以添加对子文件夹名称的判断,符合条件后才复制
‘用法:将代码保存为扩展名为.vbs 的文件,双击即可。
Dim srcFolder,dstFolder
Dim objFSO
Dim objSrcFolder,objDstFolder
Dim objSubSrcFolders
srcFolder = "c:\1\"
dstFolder = "c:\2\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSrcFolder = objFso.GetFolder(srcFolder)
Set objDstFolder = objFso.GetFolder(dstFolder)
For Each objSubSrcFolders In objSrcFolder.SubFolders
If objFSO.FolderExists(srcFolder & objSubSrcFolders.Name & "\d02") Then
objFSO.CopyFile srcFolder & objSubSrcFolders.Name & "\d02\*.*", dstFolder, true
End If
Next
MsgBox "文件夹复制完成",32,"Alert"
P:\1\2011100112\里除了d02文件夹还有d03文件夹,时间子文件夹里还有子目录,所以其实我的批量是这样的:
copy P:\1\2011100112\d02\* P:\2
copy P:\1\2011100212\d02\* P:\2
copy P:\1\2011100312\d02\* P:\2
copy P:\1\2011100412\d02\* P:\2
……
请问您的可以实现么
可以呀,上面程序里已经指定了只拷贝时间子文件夹里 d02 子目录中的文件,不会复制 d03,你试试就知道了。根据你的情况,将里面的 C:\,改为 P:\ 即可。
xcopy /s/y p:\1 p:\2
如果加参数也不能适合需要,则需要结合for命令了,请详述要求
详细问题我已经补充,P:\1\2011100112\里除了d02文件夹还有d03文件夹,时间子文件夹里还有子目录,列出前几项:copy P:\1\2011100112\d02\* P:\2copy P:\1\2011100212\d02\* P:\2copy P:\1\2011100312\d02\* P:\2copy P:\1\2011100412\d02\* P:\2……
仍不明确,只要d02还是所有子文件夹都要?而且我感觉是需要复制文件夹的,不然不同时期的文件复制到一块?那也可能同名哦