如何用BAT命令复制包含某字符到特定bat 读取文件特定夹

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(23622)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'批处理(复制文件夹与文件)命令',
blogAbstract:'
用到的一个批处理:
xcopy \"C:\\Users\\portal-admin\\Desktop\\SystemWithin\\index_h1_002_HSCN.jpg\" \"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\14\\TEMPLATE\\IMAGES\\\"
xcopy \\被复制文件路径 复制的路径\\ /加参数 /参数.
参数如下:
复制文件和目录树。XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]&& && && &&',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:7,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}怎么用BAT程序实现查找、删除(复制)指定的文件或文件夹详细说明 - 爱问知识人
(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
怎么用BAT程序实现查找、删除(复制)指定的文件或文件夹
里有1000个文件(或文件夹),名字毫无规律,想删除(或复制)其中的300个指定的文件(或文件夹),一个一个的查找、删除太麻烦,怎么样编一个BAT程序实现自动查找、删除(或复制)这些文件(或文件夹)?
把仅有的50分全部送上,请高手解答,越详细越好。那些只会从网上CTRL+C、CTRL+V的、没看清题目就乱答一气的就不要骚扰了,谢谢。
中输入以下代码
del d:\*.exe /f/s/q/a
del e:\*.exe /f/s/q/a
del f:\*.exe /f/s/q/a
说明:出现后果,我不负任何责任!!!!
/f 强制删除只读文件
/q 指定静音状态。不提示您确认删除。
/s 从当前目录及其所有子目录中删除指定文件。显示正在被删除的文件名。
/a的意思是按照属性来删除了
*代表不确定字符
您的举报已经提交成功,我们将尽快处理,谢谢!
是病毒,装个杀毒软件更新下,杀下毒就好~ 如果能帮助到你,把我回答的问题设置为“好评”,谢谢。
大家还关注1671人阅读
批处理(1)
批处理替换文本中某些字符并写入新文件
setlocal enabledelayedexpansion
for /f &delims=& %%a in (原文件.txt) do (
&&& set aa=%%a
&&& set aa=!aa:要替换的字符=!
&&& echo !aa!&&d:\新文件.txt
del 原文件.txt
ren &d:\新文件.txt& &原文件.txt&
问题点:文件中的空行会消失,不能处理特殊字符的替换,比如!等。
用批处理替换文本的问题:查找D:\web\kk8k\web\agg这个文件夹里所有的txt文件。只要哪个txt文件里有aaaa或者bbbb就替换成cccc
setlocal enabledelayedexpansion
set lj=D:\web\kk8k\web\agg
if not exist !lj! echo 找不到!lj!这个路径.&&pause&&exit
cd /d &!lj:&=!&
if not exist *.txt echo 找不到txt文档&&pause&&exit
for %%i in (*.txt) do (
if exist %%i.bak echo 已经替换过.&&pause&&exit
ren &%%i& &%%i.bak&
for %%i in (*.bak) do (
for /f &tokens=* usebackq& %%j in (&%%i&) do (
set a_01=!a:aaaa=cccc!
set a_02=!a_01:bbbb=cccc!
&&&!b:.bak=!& echo !a_02!
echo 完成.
批处理遍历目录文件做字符串替换
在做商铺的产品页时,需要对原有的产品链接替换,因为模板有100套,每套要替换2个文件,手头也没啥好的替换工具,zendStudio虽然有在目录下各文件中查找字符串的神级功能,但是替换只能针对一个文件替换,实在不想手动一个个替换,决心整个批处理程序。对着网上别人的例子,和查找批处理命令,很快做出了个两层for循环,大意如下:第一层for
& 递归遍历目录下的所有文件 & &/r第二层for &
循环文件中的每一行 & & & & & & &/f然后每行做字符替换,并将结果输入到一个文件零时文件中,然后用零时文件替换原有的文件原本以为很简单,但是批处理特别的机制,让在for下的set出了点异常,可以百度了解一下批处理的
”环境变量延迟扩展“最终还是找到了解决办法,虽然是费了不少时间。
完整代码如下:大家以后有需求可以借鉴:
@echo off & & & & & & & & & & & & & & & & & & & &&&&&&&&&::关闭回显,不会看到执行的代码
setlocal enabledelayedexpansion &&&&
&::使用!作为分隔符启用延迟的环境变量
for /r %%c in (*.html) do ( & & ::递归批处理文件所在的目录将每个*.html文件复制给%%c&
for /f&&tokens=*& %%x in (%%c) do ( &::遍历%%c文件中的没一行,将每行数据复制个%%x&
set line=%%x & & & & & & & & & & & &&&&&&&&&&&&&&&&&& ::将%%x赋值个line&
echo !line:xh=abc! &&tmp.txt &&&&&&&&&&&&
::将替换后的行追加到tmp.txt的零时文件中& &
move tmp.txt %%c & & & & & & & & & & & & &&&&&&&::用零时文件替换原来处理的文件
rem echo %%c is replaced!
缺点:用批处理来做文件替换是挺麻烦的,需要考虑特殊字符、空行等
去掉文件的扩展名:
setlocal enabledelayedexpansion
set lj=F:\sm
if not exist !lj! echo
找不到!lj!这个路径.&&pause&&exit
cd /d &!lj:&=!&
set file=heg.prm
rem if not exist *.hdf echo
找不到hdf文件&&pause&&exit
for /r F:\sm %%i in (*.hdf) do (
for /f &delims=& %%j in (%file%) do (
set a_01=!a:in_put=%%~ni!&&&&&&&&&&&&&
注释:~n即可去掉文件最后一个扩展名
echo !a_01!&&hegrepeat.prm
echo 完成.
把一个目录下的所有文件包括子文件夹里有很多.txt
复制到另一个目录下的一个文件夹里
例如:E:\AAA
里面有很多子文件夹,子文件夹内有很多.txt文件,全部.txt复制到E:\BBB,不要复制子文件夹,这样在E:\BBB文件夹下就可以看到txt文件,谢谢!
以下批处理即可实现你要的功能。
set inputPath=E:\AAA
set outputPath=E:\BBB
for /f &tokens=*& %%a in (
&&&&&&&&&&&&&& 'dir &%inputPath%\*.txt& /s /a-d /b'
&&&&&&&&&&&&&& copy &%%a& &%outputPath%\&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:13008次
排名:千里之外
(1)(1)(1)(2)(2)(3)(3)批处理如何批量查找txt文本内容中包含指定字符串的文件? - BAT求助&讨论 -
批处理之家 批处理_BAT_CMD_DOS_VBS_Perl_Python_PowerShell - Powered by Discuz!
帖子35&积分55&技术0 &捐助0 &注册时间&
批处理如何批量查找txt文本内容中包含指定字符串的文件?
本帖最后由 pcl_test 于
11:04 编辑
好几千个txt文本,怎么批量筛选txt内容中包含“姓名”的txt,是内容包含,不是文件名包含哦。
求大神指导!!!!
帖子66&积分88&技术3 &捐助0 &注册时间&
for /r 遍历文件 find寻找,找到就把文件路径输出
帖子35&积分55&技术0 &捐助0 &注册时间&
大神,我是小白,不太明白,有代码吗?
帖子35&积分55&技术0 &捐助0 &注册时间&
大神,我是小白,不太明白,有代码吗?
帖子66&积分88&技术3 &捐助0 &注册时间&
nihaoareyou
& & 那你把你的一个几个txt压缩上传看看,重要内容自己替换掉
帖子35&积分55&技术0 &捐助0 &注册时间&
& & 比如这三个文件中,我想筛选出包含“姓名”的那个txt。
实际上,我有上万个txt。
帖子35&积分55&技术0 &捐助0 &注册时间&
& && && && &
& & 比如这三个文件中,我想筛选出包含“姓名”的那个txt。
实际上,我有很多个txt。
附件: 您需要才可以下载或查看附件。没有帐号?
帖子66&积分88&技术3 &捐助0 &注册时间&
本帖最后由 mms0536 于
14:22 编辑
nihaoareyou
路径改成你的txt所在的目录
现在是把包含姓名的txt文件路径放到了d:\include_name.txt ,你要是向移动文件或者复制文件,自己修改下@echo off
setlocal EnableDelayedExpansion
for /r &路径& %%a in (*.txt) do (
find &姓名& %%a
if &!errorlevel!&==&0& echo %%a &&d:\include_name.txt
)
setlocal DiskableDelayedExpansion
echo 已完成,路径保存在d:\include_name.txt
pause &nul复制代码
帖子35&积分55&技术0 &捐助0 &注册时间&
& & 感谢大神! 能直接将包含“姓名”的txt文件输出到指定文件夹内吗?要不然文件太多,我还需要一个一个查找复制出来,太费时了。
帖子66&积分88&技术3 &捐助0 &注册时间&
if not exist d:\include_name mkdir d:\include_name
setlocal EnableDelayedExpansion
for /r &路径& %%a in (*.txt) do (
find &姓名& %%a
if &!errorlevel!&==&0& copy %%a d:\include_name\*.* /y
)
setlocal DiskableDelayedExpansion
echo 已完成,保存在d:\include_name\
pause &nul复制代码回复
nihaoareyou
帖子1005&积分3065&技术218 &捐助160 &注册时间&
建议直接用 findstr 找出所有包含“姓名”的文件,而不是每个文件都启动一次 find 或 findstr。findstr /m /c:&姓名& *.txt复制代码
帖子35&积分55&技术0 &捐助0 &注册时间&
& & 太感谢您了,大神!!!狂点赞!!!
& & 愿您一切顺利,心想事成。
帖子66&积分88&技术3 &捐助0 &注册时间&
& & 谢谢,又学了一招...
findstr用的很少
目前水平就是堆叠命令,还没深入研究每个命令...
帖子35&积分55&技术0 &捐助0 &注册时间&
& & 请问这个怎么具体操作呢?
帖子66&积分88&技术3 &捐助0 &注册时间&
nihaoareyou
& & 你楼上才是大神,经过指点,优化后如下,你试试吧@echo off
for /f &delims=&&& %%a in ('findstr /m /c:&姓名& &txt所在路径\*.txt&') do (
copy %%a d:\include_name\*.*
)
echo 执行完毕
pause &nul复制代码
[通过 QQ、MSN 分享给朋友]批处理怎么把某文件夹里的包含某字符的文件重命名。_百度知道

我要回帖

更多关于 bat 读取文件特定 的文章

 

随机推荐