失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > bat生成工具(批量 删除文件/复制文件/删除文件夹/重命名文件)

bat生成工具(批量 删除文件/复制文件/删除文件夹/重命名文件)

时间:2022-05-10 10:07:33

相关推荐

bat生成工具(批量 删除文件/复制文件/删除文件夹/重命名文件)

Batch文件能完成一些批量重复操作。不想在每次用到重新编写一个.bat文件,所以这里用一个工具(.bat)去生成一个用于具体批量操作的.bat文件。

工具的batch代码在文档的最后面。新建一个文本文档,将代码黏贴到文档中,将文件类型改为bat,这时候就得到一个.bat文件(bat生成.bat)。

双击bat生成.bat,能看到如下的界面。这里只实现了4个简单的功能,可以在这个基础上添加新的功能。后面对这4个功能的使用进行说明。

1. 批量删除文件夹及其内的所有文件

删除该目录树下所有指定名称的文件夹和文件夹下所有子文件夹和文件。

双击bat生成.bat,进入窗口,进行如下操作:

提示 Choice,输入1,回车提示 FolderName,输入要删除的文件夹名称(Delete1),回车重新提示Choice:如果无其他操作,输入Q,回车,退出窗口;如果还需要其他批量操作,重复上述步骤。

此时会在bat生成.bat文件相同路径下生成一个file.bat文件。

file.bat文件放置于某个目录下,双击file.bat文件,就会删除该目录树下所有名为Delete1(根据自己设置)的文件夹和文件夹下所有子文件夹和文件。

2. 批量复制

复制指定文件到所有指定名称的文件夹下,如已有该文件,则进行替换

双击bat生成.bat,进入窗口,进行如下操作:

提示 Choice,输入2,回车提示 CopyFileName,输入要复制文件的文件名,回车提示CopyFolderName,输入文件复制的目标目录,回车重新提示Choice:如果无其他操作,输入Q,回车,退出窗口;如果还需要其他批量操作,重复上述步骤。

此时会在bat生成.bat文件相同路径下生成一个file.bat文件。

file.batNew.txt文件放置于某个目录下,双击file.bat文件,就会将New.txt复制到该目录下所有的Test0文件夹下。

3. 删除文件

删除目录树下所有指定文件

**双击bat生成.bat,进入窗口,进行如下操作:

提示 Choice,输入3,回车提示 DelFileName,输入要删除文件的文件名,回车重新提示Choice:如果无其他操作,输入Q,回车,退出窗口;如果还需要其他批量操作,重复上述步骤。

此时会在bat生成.bat文件相同路径下生成一个file.bat文件。

file.bat文件放置于某个目录下,双击file.bat文件,就会删除该目录树下所有的New.txt文件。

4. 重命名文件

这里的作用就相对较多了。下面对批量修改文件类型进行了详细说明。其实看完批量修改文件类型说明就应该明白了该操作的原理了。

执行该file.bat(由 bat生成.bat 生成)文件时,会将该目录下的所有文件(不包括文件夹)看成若干个字符串(包括"."以及文件的后缀名),然后进行搜索和替换的工作。

要对所有文件进行操作,File type设置可以使用通配符*限定待操作文件的类型,如只对txt文件操作,File type可以设置成 *.txt如果文件名存在多个点“.”,就可能造成预期之外的修改。如new.txt.txt可能内改为new.c.c

批量修改文件类型

**双击bat生成.bat,进入窗口,进行如下操作:

提示 Choice,输入4,回车提示 File type,输入文件类型,如 *,回车提示 Find what,输入待替换的文件类型,如.c,回车提示 Replace with,输入要修改为什么类型,如.txt,回车重新提示Choice:如果无其他操作,输入Q,回车,退出窗口;如果还需要其他批量操作,重复上述步骤。

此时会在bat生成.bat文件相同路径下生成一个file.bat文件。

file.bat文件放置于待修改文件相同目录下,双击双击file.bat文件,就会将该路径下(仅该目录,不包括)的所有c文件修改为txt文件。

修改前

修改后

@echo offclstitle Create bat fileset ifo=abcdefghijklmnopqrstuvwxyz0123456789clscolor 0A:menuecho.echo================================echoSelect operation, press Enterecho================================echo.echo1. Delete folder, delete all files in folder.echo.echo2. Copy file to folder.echo.echo3. Delete files.echo.echo4. Rename files.(act on the same level of catalog files)echo.echoQ. Quitecho.echo @echo off>file.bat:ChoiceOperationset choice=set /p choice=Choice:if not "%choice%"=="" set choice=%choice:~0,1%if /i "%choice%"=="1" goto RemoveFoldersif /i "%choice%"=="2" goto CopyFileif /i "%choice%"=="3" goto DeleteFilesif /i "%choice%"=="4" goto RenameFilesif /i "%choice%"=="Q" goto enddecho Invalid, againecho.goto ChoiceOperationREM 移除目录树下的文件夹:RemoveFoldersecho RemoveFoldersset RemFchoice=set /p RemFchoice=FolderName:set str1=for /r . %%%%d in (.) do rd /s /q "%%%%d\set str1=%str1%%RemFchoice%"set str2= %ifo:~28,1%set str1=%str1%%str2%echo %str1%^>nul >>file.batecho RemoveFolders OKecho.goto ChoiceOperationREM 复制文件到目录树下的特定目录:CopyFileecho CopyFileset CopyFileChoice=set /p CopyFileChoice= CopyFileName:set CopyFolderChoice=set /p CopyFolderChoice= CopyFolderName:set str1=for /r . %%%%a in ("%CopyFolderChoice%") do copy %CopyFileChoice% "%%%%a"echo %str1% >>file.batset str2=del /s /a "%CopyFolderChoice%"set str3= %ifo:~28,1%echo %str2%%str3%^>nul >>file.batecho CopyFile OKecho.goto ChoiceOperationREM 删除目录树下的所有特定文件:DeleteFilesecho DeleteFilesset DelFileChoice=set /p DelFileChoice= DelFileName:set str1=del /s /a "%DelFileChoice%"set str2= %ifo:~28,1%echo %str1%%str2%^>nul >>file.batecho DeleteFiles OKecho.goto ChoiceOperationREM 重命名文件,作用于同级目录文件:RenameFilesecho RenameFilesset Typechoice=set /p Typechoice=File type(*.type):set Findchoice=set /p Findchoice=Find what:set Replacechoice=set /p Replacechoice=Replace with:set str2=%ifo:~36,1%set str1=setlocal enabledelayedexpansionecho %str1% >>file.batset str1=for %%%%i in (set str2=%Typechoice%set str1=%str1%%str2%set str2=) do (set str1=%str1%%str2%echo %str1% >>file.batset str1=set ym=%%%%iecho %str1% >>file.batset str1=set ym=!ym:set str2=%Findchoice%set str3=%Replacechoice%set str1=%str1%%str2%=%str3%!echo %str1% >>file.batset str1=if %%%%i neq !ym! (ren "%%%%i" "!ym!")echo %str1% >>file.batset str1=)echo %str1% >>file.batset str1=endlocalecho %str1% >>file.batecho RenameFiles OKecho.goto ChoiceOperationpause:enddecho exit>>file.batexit

如果觉得《bat生成工具(批量 删除文件/复制文件/删除文件夹/重命名文件)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。