正好写过bat的,不过vbs的还没有写,现在写一下,楼主可以看一下,就一行命令, 结合了vbs和bat两者的, 代码见最后for /f "eol= tokens=1,* delims=" %i in ('where /r 被搜索的
文件夹 文件名前
几个字符*.*') copy %i 特定的文件夹\/r 的意思是在文件夹
递归地查找 (可能有点慢)去掉/r就只找文件夹下一层的for /f "eol= tokens=1,* delims=" %i in ('where 被搜索的文件夹 文件名前几个字符*.*') copy %i 特定的文件夹\被搜索的文件夹例如 c:\users\desktop\信工信息文件名前几个字符*.* 例如 19信工*.*特定的文件夹\例如 d:\信工信息\如果不行饥想把 c:\users\desktop\john\信工信息\其他 等子文件夹的内容拷出来for /f "eol= tokens=1,* delims=" %i in ('where c:\users\john\desktop\信工信息 19信工*.*') do copy %i d:\信工信息\反之就用for /f "eol= tokens=1,* delims=" %i in ('where /r c:\users\john\desktop\信工信息 19信工*.*') do copy %i d:\信工信息\写到vbs里是这样, 如果不想把 c:\users\desktop\john\信工信息\其他 等子文件夹的内容拷出来Set ws = CreateObject("Wscript.Shell")a="c:\users\john\desktop\信工信息" '来源文件夹 b="d:\信工信息"message = "输入文件名前几个字符" &chr(10) &"来源文件夹 "&a &chr(10) &b defaultValue=""title = "输入纳汪文件名前几个字符搜索文件并复制到特定的文件夹"&""myValue = InputBox(message, title, defaultValue)achoice=MsgBox ("是否递归查找(查找子文件夹)" ,vbyesno)d=""if achoice=vbyes thend="/r"end ifws.run "cmd /c for /f ""eol= tokens=1,* delims="" %i in ('where "&a&" 19信工*.*') do copy %i "&b&"\ ",0,true记得保存文件时选择洞带仔ansi编码或者gbk而不是utf-8,双击可用'纯vbs的话要递归遍历所有文件夹,比较麻烦,可以和cmd结合起来用
targetfile="test.jpg"'改成你要找的文件名
Set 兆让迅WshShell = WScript.CreateObject("Wscript.Shell")
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
tempfile=WScript.ScriptName&"_temp.txt"
wshshell.Run "cmd /c dir d:\"&targetfile&"/b /s>"&tempfile,1,True
Set f=fso.GetFile(tempfile)
If f.Size>0 Then'dir找到目标文件时才会向tempfile中写入数据,没找到时只会生成一个空文件
Set ft=fso.OpenTextFile(tempfile,1)
Do Until ft.AtEndOfStream'可能会找到多个文件族此,故需要读每一行的数据
line=ft.ReadLine'读入一行
MsgBox line'滑顷仅供演示
Loop
ft.Close
End If
fso.DeleteFile(tempfile)'删除生成的临时文件
如上图
第一步、给他压缩成文件
第二步、咕嘎批量文件查找 *** 薯此作文件移动到指定的文件夹
第三步、查找出来的文件批量数斗迅解压缩,销吵搞定
评论列表(0条)