Batch 对指定目录下的文件进行批量循环操作
Batch 文件用于批量处理某一指定目录下的指定类型的文件,此时需要使用循环 for
来执行。
一、如复制指定目录下的所有 dll
文件到另一个地方
@echo off
REM 1、定义变量
set "source_dir=D:\DevKits\Source"
set "dest_dir=D:\Tmp\Dll01"
REM 2、如果目标目录不存在,则创建它
if not exist "%dest_dir%" (
mkdir "%dest_dir%"
)
REM 3、复制源目录下的所有 .dll 文件到目标目录
for %%i in ("%source_dir%\*.dll") do (
copy "%%i" "%dest_dir%"
)
echo 文件已成功复制到 %dest_dir%
pause
1、定义变量来指定从哪里将dll复制到什么地方,将变量放在双引号里面,可以避免特殊字符导致解析的问题。
2、检测目标路径是否存在,不存在则创建
3、遍历源目录,将指定的dll复制到目标路径目录下:
%%i
:表示for循环中的变量,其中%%
后接的字符为占位符,可以用其它字符代替"%source_dir%\*.dll"
:表示源目录下的dll通配符,如果需要复制其它的文件,可以进行替换操作
二、如删除指定目录下的所有指定类型文件
@echo off
setlocal
:: 指定要清理的目录
set "target_dir=C:\Tmp\Dir"
:: 切换到目标目录
cd /d "%target_dir%"
:: 删除所有以 d.dll 结尾的文件
for %%i in (*d.dll) do (
echo Deleting debug DLL: %%i
del "%%i"
)
:: 结束
echo All debug DLLs have been deleted.
endlocal
1、setlocal
与 endlocal
:用于确保设定的环境变量只是在这之间起作用,而不会影响到批处理文件外的全局环境变量,保证影响最小化。
2、cd /d "%target_dir%"
:用于将执行环境切换到当前目录下,后续操作可以使用相对路径来进行,如循环 for
中的操作 *d.dll
即使用了相对路径的方式
分类:
WinPlatform
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!