如何用批处理命令(其他也可以)根据特定的字符串对某个文件夹里的所有文件进行分类
假定现有两个字符串aaabbbb,给定某个文件夹c://x怎么把这个文件夹里的全部文件按照文件开始的内容是否是aaabbbb进行分类把含有aaa的文件复制到c://aaa...
假定现有两个字符串aaa bbbb,给定某个文件夹c://x
怎么把这个文件夹里的全部文件 按照文件开始的内容是否是aaa bbbb进行分类
把含有aaa的文件复制到c://aaa 里面 把含有bbbb的文件复制在c://bbbb里面
求原创 多谢 拜托 展开
怎么把这个文件夹里的全部文件 按照文件开始的内容是否是aaa bbbb进行分类
把含有aaa的文件复制到c://aaa 里面 把含有bbbb的文件复制在c://bbbb里面
求原创 多谢 拜托 展开
展开全部
只能处理纯文本文件哦,批处理可放任意位置
@echo off&color f1
::下四行分别是要处理的文件夹、两字符串、新文件夹在哪建
cd/d "c:\x"
set "s1=aaa"
set "s2=bbbb"
set newd=c:\
if not exist "%newd%%s1%\" md ""%newd%%s1%"
if not exist "%newd%%s2%\" md "%newd%%s2%"
echo 正在处理:
for /f "tokens=*" %%a in ('dir/b/a-d ')do (
set/p fn=<"%%~a"
call :y "%%~a")
pause&exit
:y
call set a=%%fn:%s1%=ゅ%%
call set b=%%fn:%s2%=ゅ%%
if "%a:~,1%"=="ゅ" (copy %1 "%newd%%s1%\">nul&echo %~1 =^> %newd%%s1%)
if "%b:~,1%"=="ゅ" (copy %1 "%newd%%s2%\">nul&echo %~1 =^> %newd%%s2%)
@echo off&color f1
::下四行分别是要处理的文件夹、两字符串、新文件夹在哪建
cd/d "c:\x"
set "s1=aaa"
set "s2=bbbb"
set newd=c:\
if not exist "%newd%%s1%\" md ""%newd%%s1%"
if not exist "%newd%%s2%\" md "%newd%%s2%"
echo 正在处理:
for /f "tokens=*" %%a in ('dir/b/a-d ')do (
set/p fn=<"%%~a"
call :y "%%~a")
pause&exit
:y
call set a=%%fn:%s1%=ゅ%%
call set b=%%fn:%s2%=ゅ%%
if "%a:~,1%"=="ゅ" (copy %1 "%newd%%s1%\">nul&echo %~1 =^> %newd%%s1%)
if "%b:~,1%"=="ゅ" (copy %1 "%newd%%s2%\">nul&echo %~1 =^> %newd%%s2%)
展开全部
过我这个支持长文件名路径,呵呵
下面代码保存为处理.vbs也可以运行
FolderPath=inputbox("输入处理的文件夹","输入处理的文件夹")
'FolderPath="F:\新建文件夹"
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(FolderPath)
set files=folder.files
for each fl in files
if right(fl,4)=".txt" Then
filename=fl
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(filename, 1)
strContents = objFile.ReadAll
objFile.Close
If cbool(instr(strContents,"CDE")) And cbool(instr(strContents,"FGH")) Then
arrpath1=split(strContents,"CDE")
arrpath2=split(strContents,"FGH")
arrpath3=arrpath1(0)&chr(10)&arrpath2(1)
Set fso=CreateObject("Scripting.FileSystemObject")
Set File=fso.OpenTextFile(filename, 2,Ture)
File.WriteLine(arrpath3)
File.Close
End If
end If
Next
MsgBox("成功!")
下面代码保存为处理.vbs也可以运行
FolderPath=inputbox("输入处理的文件夹","输入处理的文件夹")
'FolderPath="F:\新建文件夹"
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(FolderPath)
set files=folder.files
for each fl in files
if right(fl,4)=".txt" Then
filename=fl
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(filename, 1)
strContents = objFile.ReadAll
objFile.Close
If cbool(instr(strContents,"CDE")) And cbool(instr(strContents,"FGH")) Then
arrpath1=split(strContents,"CDE")
arrpath2=split(strContents,"FGH")
arrpath3=arrpath1(0)&chr(10)&arrpath2(1)
Set fso=CreateObject("Scripting.FileSystemObject")
Set File=fso.OpenTextFile(filename, 2,Ture)
File.WriteLine(arrpath3)
File.Close
End If
end If
Next
MsgBox("成功!")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询