文章目录
说明:
今天有人私聊我,问我删除的bat脚本能做一个选定文件删除吗?
,我没有太懂选定文件
,但是我做了一个,根据目录,可以选择删除文件的目录树中所以文件含有指定字符串或者删除不含有字符的一个脚本,我这里打包成exe程序,放入我的云盘中。后续如果我再写入一些脚本,我会更新到这个博客中,如果有好的自己实用的脚本欢迎下方留言或者把博客写的分享到下方,让更多喜欢dos的小伙伴学习学习。
一、dos历史学习笔记
这个是我所以的dos学习笔记,希望对感兴趣的你有所帮助,如有错误,还望不吝赐教。如果对你有帮助,希望给我点个赞哈,Thanks♪(・ω・)ノ
学习主要还是靠坚持,如果真的觉得学一个知识,就坚持下去;三天打鱼俩天晒网,真的不如躺着歇,刷刷剧,或者玩俩局游戏。。。
window的dos命令学习笔记 八— bat文件打包成exe程序(实现脚本加密)
二、实用小工具:
0、所以小工具下载地址:
我这里打包成exe小程序,我感觉这样方便使用,如果对你工作学习有帮助,希望能给我点个赞哈,Thanks♪(・ω・)ノ
小工具程序:
下载地址:
码:fhw1
后续有其他小工具想法,我会持续更新。
1、删除文件或者文件夹:
这个就是给我带来学习dos兴趣的起源,我把地址改成了输入,代码:
@echo off
set /p path=请输入需要删除的文件或者目录地址:
DEL /F /A /Q %path%
RD /S /Q %path%
pause&exit
执行之后直接把需要删除的文件或者文件夹地址复制过来即可。
2、选择是否根据字符串进行删除含有或者不含有的文件:
注意点:
- 这个只能删除文件,不能删除文件夹。
- 不要根据含有
关键词
和文件夹名称有交集,不要会把文件夹下所有文件删除
用了好久总数完成根据特殊的字符串进行删除文件的功能了,代码:
@echo off
set /p name=请输入需要删除包含文件的文件名
:return_path
set /p path=请输入需要匹配的目录
:: 判断是否目录存在
if not EXIST %path% (
ECHO 输入的目录地址不存在
goto return_path
)
:returntype
set /p type_node=请输入需要删除类型(1:代表删除包含,2:代表删除不包含)
echo 删除类型:%type_node%
setlocal enableDelayedExpansion
if "%type_node%" == "1" (
echo "删除包含"
for /r %path% %%f in (*.*) do (
set "str1=%%f"
if not "!str1!" == "!str1:%name%=!" (
echo 准备找到路径中含有%name%的文件:%%f
DEL /F /A /Q %%f
)
)
pause&exit
)
if "%type_node%" == "2" (
echo "删除不包含"
for /r %path% %%f in (*.*) do (
set "str1=%%f"
if "!str1!" == "!str1:%name%=!" (
echo 准备找到路径中没有有%name%的文件:%%f
DEL /F /A /Q %%f
)
)
pause&exit
)
::删除类型错误,需要重新输入
echo 删除类型错误,需要重新输入
goto returntype
setlocal DisableDelayedExpansion
我这里的小功能包括:
- 输入筛选的关键词
- 输入需要删除的目标目录(如果目录不存在会让重新输入)
- 删除类型(1:代表删除包含。2:代表删除不包含)如果输入其他字符,会提示重新输入类型。
3、复制一个目录下所有文件(包括子文件到指定目录下)–新增
主要功能就是复制一个目录下的所有文件(包括子目录树下的所有文件)复制到一个目录内,而且如果遇见重复文件,不提醒,直接覆盖。复制到的目录下,没有各种子目录的文件夹,只有文件。
代码:
@echo off
set /p path1=请输入需要复制的目录:
set /p path2=请输入需要复制到的目录:
FOR /r %path1% %%i IN (*) DO @copy /y %%i %path2%