批处理文件

您所在的位置:网站首页 bat批量复制指定文件到指定目录 批处理文件

批处理文件

#批处理文件| 来源: 网络整理| 查看: 265

1. 把当前目录下所有子文件夹中的.tar/.rar/.zip文件复制到同一目录下 当前目录有多个子文件夹,有的子文件夹有内容,有的是空的,需要将子文件夹中的压缩包复制到一个相同的目录(D:/新建文件夹/)下 在命令行窗口进入当前目录,并输入echo off,关闭其他所有命令(不包括本身这条命令)的回显(只是为了方便看,不关闭直接第二步也行)

输入处理命令 在cmd中只需要一个%;在bat批处理中要用%%,因为编译器编译的时候会屏蔽(或者说消除?)一个%。 for /f "delims=" %i in ('dir /s/b') do ( if exist "%i\*.rar" copy "%i\*.rar" D:\test\新建文件夹 if exist "%i\*.zip" copy "%i\*.zip" D:\test\新建文件夹 if exist "%i\*.tar" copy "%i\*.tar" D:\test\新建文件夹 )

回车,显示结果,复制完成

2. 在源目录下复制指定文件名的文件到目标目录,并给目标目录下每个文件编号,删除原文件(bat) 一个源文件夹中有多个子文件夹,把该文件夹下所有文件名中包含“报告”的.doc或.docx文件移动到指定的文件夹下,并给每个文件加上编号,然后删除原目录下的已经被复制过的文件 在源目录下,新建一个.txt文件,输入以下代码

变量a用来记录编号 使用xcopy的时候会询问是否是目录(F = 文件,D = 目录),一遍一遍输入太麻烦,用echo f | 可以自动输入f表示这是一个文件,当然也可以把f改成d。 %i包括文件名和扩展名,%%~ni表示仅将 %i 扩展到一个文件名,而%~xi表示仅将 %i 扩展到一个文件扩展名

@echo off&setlocal enabledelayedexpansion set a=0 for /f "tokens=* delims=" %%i in ('dir /s/b *报告*.doc*') do ( set /a a=a+1 echo f | xcopy "%%i" "D:\test\报告\!a!-%%~ni.doc" del "%%i" ) pause

另存为.bat文件,注意在“编码”处选择“ANSI”(默认是UTF-8,中文字符无法表达,会乱码)

双击.bat文件直接运行,弹出命令行窗口显示运行结果

查看目标文件夹

3. 将源目录下的所有文件编号重命名 该目录下只有.doc或.docx文件,把这些文件全部命名为“三位数编号-报告.docx”,编号不足三位数用0补足。 在该目录下新建一个.txt文件,输入以下代码,并另存为.bat文件(选择ANSI编码)

变量a计数,fn补足数位 fn:~-4表示截取fn中倒数第4个位以后的字符,即三个字符。

@echo off&setlocal enabledelayedexpansion set a=0 for /f "delims=" %%i in ('dir /a-d /b *.doc*') do ( set /a a=a+1 set fn="000!a!" ren "%%i" "!fn:~-4!-报告.docx" ) pause

双击.bat文件运行,文件重命名成功。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3