BAT 批处理实现复制指定文件夹内的指定类型的多个文件到另一个文件夹(findstr &delims的使用)

本文介绍了一个使用批处理脚本实现特定目录下指定类型文件的批量复制操作,该脚本可以排除预设的文件名,将剩余的指定类型文件从源目录复制到目标目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下批处理实现的功能,将GeneratePath路径下的DestExt类型文件 除过NoCopyFileName文件复制到DestnationPath路径下

 

1>未复制

2>复制完成

 

set  /a CopyNum=0
REM 记录未复制文件的数量
set  /a NoCopyNum=0

REM 不需要复制的文件名以:隔开
set NoCopyFileName=123:234:456


::设置文件源文件位置
Set GeneratePath=..\BAT\JK2
::设置文件目标粘贴位置
Set DestnationPath=..\BAT\JK3

::设置粘贴文件类型
set DestExt=*.h
set DestExt_2=*.txt


IF NOT EXIST "%GeneratePath%" (
echo GeneratePath is not find 
GOTO end) 

@for  /f "delims=" %%i in ('dir  /b/a-d/s %GeneratePath%\%DestExt%') do (

REM /a 表示右边的变量为数字量 %%~nxi 文件名带后缀  %%~ni 文件名不带后缀 
REM  1>nul将不显示正确的传参结果
echo %NoCopyFileName% | findstr /C:"%%~ni" 1>nul
if errorlevel 1 (
  echo got one - %%~nxi not found

@xcopy %GeneratePath%\%%~nxi  %DestnationPath%\  /d /y /i
::echo errorlevelxcopy %errorlevel%
set  /a CopyNum+=1
) ELSE (
  echo got zero - found %%~nxi
 set  /a NoCopyNum+=1 
)
)

@echo CopyNum is %CopyNum%   NoCopyNum is %NoCopyNum% 

set  /a CopyNum=0
set  /a NoCopyNum=0

:end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值