您的位置 首页 > 数码极客

如何用批处理文本内容、批处理修改文本内容!

如有以下任务:

将F:\Website路径及其各级子目录下的dwg文件全部拷贝到F:\dwg

在拷贝前我们先查看一下该类文件的数量及全部大小。

使用两个dos命名命令:

cd /d F:\website for /r %d in (*.dwg) do (echo %d)

用cd命名切换到F:\website目录,然后使用for /r循环处理以F:\website指定为起点的的整个目录树下的扩展名为dwg的文件(包括子目录中的文件);

两个dos命令可以用符号&连接到一起,一起执行:

cd /d F:\website & for /r %d in (*.dwg) do (echo %d)

效果:

如果不想显示命名本身,可以再串一个echo off命名:

@echo off & cd /d F:\website & for /r %d in (*.dwg) do (echo %d)

效果:

也可以将以上输出重定向到一个文本文件(输出到文件):

cd /d F:\website & for /r %d in (*.dwg) do (echo %d >> c:\dwg.txt)

注意在dos的for循环中对变量的引用只使用一个百分号%,而在bat中需要使用两个百分号%%。

完整的bat文件,包括屏幕显示及输出到virus.txt文件:

@echo off setlocal enabledelayedexpansion echo. >c:\virus.txt color 3a echo. set /a n = 0 set /p b=输入查找文件扩展名: if /i "%b%"=="" cls && goto fh echo 系统正在查找文件,请耐心等候...... echo. ::for %%a in (F E D C) do ( ::for %%a in (F) do ( cd /d F:\website for /r %%b in (*.%b%) do ( if exist "%%b" ( echo %%b echo %%b>>c:\virus.txt set /a n+=1 echo 现查到%b%文件个数:!n! ) ) ::) type c:\virus.txt | find /i "\" && goto no echo. echo 文件内容没找到! del c:\virus.txt>nul 2>nul echo. pause exit :no ::cls echo. echo 文件查找完毕并记录在c:\virus.txt中 ! echo 现查到%b%文件总的个数:!n! echo. echo 是否打开文本查看记录 ? echo. echo 选择" Y "查看。 选择" N "退出。 echo. set /p Choice=Y/N: IF /I '%Choice:~0,1%'=='y' goto A IF /I '%Choice:~0,1%'=='n' goto B pause exit :A start c:\virus.txt exit pause :b exit

效果:

如果要复制到某一路径下,只需要更改上面的一行代码即可:

echo %%b

更改为:

copy %%b F:\dwg

如果路径是某个分区,可以将

cd /d F:\website

更改为:

cd /d F:\

如果路径是多个分区,可以添加一个外层循环:

for %%a in (F E D C) do ( cd /d %%a:\ ::…… )

表示在F、E、D、C四个分区下查看或复制。

以下是查看F盘下的全部dwg文件(有880个):

并转存到了一个文本文件,如下所示:

现在的思路是,以上述文件文本内容作为需要拷贝的文件清单,将不需要拷贝的文件(文本行)删除掉,然后按照文件清单去拷贝文件(清理后还剩下23个文件需要拷贝):

使用批处理命名for /f即可分行分列解析文件文本。

完整的代码如下:

::如果目标文件中已存在某文件,则相同文件名+扩展名的文件不会被复制 @echo off setlocal enabledelayedexpansion color 3a echo. set /a n = 0 echo 系统正在查找文件,请耐心等候...... echo. for /f "delims=" %%b in (c:\dwg.txt) do ( ::路径有空格时,需要使用参数"delims=" if exist "%%b" ( copy "%%b" C:\dwg set /a n+=1 echo 现复制了个文件:!n! ) ) echo. echo. pause

-End-

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何用批处理文本内容,批处理修改文本内容,批处理提取文本内容,批处理读取文本内容”边界阅读