Hi 老师你好,我想实现下面这个功能,能否帮忙看下批处理如何写,多谢!
你好,我现在一个文件夹C:\A下放置了很多后缀名为.REC格式的文件,需要找出所有文件内容中包含<RESULT>PASS字符的文件并将这些文件复制或者剪切到另一个文件夹C...
你好, 我现在一个文件夹C:\A下放置了很多后缀名为.REC格式的文件,需要找出所有文件内容中包含<RESULT> PASS字符的文件并将这些文件复制或者剪切到另一个文件夹C:\B目录下,用批处理如何处理,多谢!
展开
3个回答
展开全部
@echo off & title 查找相关文件并移动 By 依梦琴瑶
for %%a in ("C:\A\*.REC") do (
find /i "<RESULT> PASS" "%%~a" >nul 2>nul && (
move "%%~a" "C:\B\"
)
)
pause
::非主代码,愿意的话,可以额外执行一下
@echo off & title 友情一下
call :Dnt
exit
:Dnt
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
追答
打开“有晴暂住”(故意用同音字代替的😏)页面。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
<# :
cls
@echo off
rem 从一个指定文件夹里找出里面内容包含有指定字符串的rec文件,并拷贝/复制/剪切/移动到另一个文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$oldfolder="C:\A";
$newfolder="C:\B";
$findword="<RESULT> PASS";
$ext=@('.rec');
if(-not (test-path -liter $oldfolder)){Write-host ('"'+$oldfolder+'" not found');exit;};
if(-not (test-path -liter $newfolder)){[void](md $newfolder);};
$files=@(dir -liter $oldfolder|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$text=[IO.File]::ReadAllText($files[$i].FullName,[Text.Encoding]::Default);
if($text.Contains($findword)){
write-host ($files[$i].FullName+' --> '+$newfolder);
move-item -liter $files[$i].FullName ($newfolder.trimend('\')+'\'+$files[$i].Name) -force;
};
}
<# :
cls
@echo off
rem 从一个指定文件夹里找出里面内容包含有指定字符串的rec文件,并拷贝/复制/剪切/移动到另一个文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$oldfolder="C:\A";
$newfolder="C:\B";
$findword="<RESULT> PASS";
$ext=@('.rec');
if(-not (test-path -liter $oldfolder)){Write-host ('"'+$oldfolder+'" not found');exit;};
if(-not (test-path -liter $newfolder)){[void](md $newfolder);};
$files=@(dir -liter $oldfolder|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$text=[IO.File]::ReadAllText($files[$i].FullName,[Text.Encoding]::Default);
if($text.Contains($findword)){
write-host ($files[$i].FullName+' --> '+$newfolder);
move-item -liter $files[$i].FullName ($newfolder.trimend('\')+'\'+$files[$i].Name) -force;
};
}
追问
追答
按运行后窗口标题栏中的提示联系我
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-06-23
展开全部
研究一下 FINDSTR 的使用吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询