标题: [文件操作] 检查BAT代码错误:复制文件名含有指定关键字的文件 [打印本页]
作者: wangkuang 时间: 2024-3-21 15:31 标题: 检查BAT代码错误:复制文件名含有指定关键字的文件
查找当前文件夹内文件名含有 家访 二字的文件,将文件复制到名字为B的文件夹内,执行代码,打开BAT后自动闪退,无任何提示,win10系统:- @echo off
- :: 设置要查找的字符串
- set searchString=家访
-
- :: 获取当前批处理文件所在的文件夹路径
- set sourceFolderPath=%~dp0
-
- :: 遍历源文件夹中的文件
- for %%f in (%sourceFolderPath%\*) do (
- :: 获取文件名
- set fileName=%%~nxf
-
- :: 如果文件名包含指定字符串,将文件复制到目标文件夹
- if "!fileName!" contains "%searchString%" (
- copy "%%f" B\
- echo "成功复制文件:!fileName!"
- ) else (
- echo "文件!fileName! 不包含'家访',未进行复制。"
- )
- )
- if errorlevel 1 (
- echo "复制过程中发生错误,请检查文件和权限。"
- ) else (
- echo "文件复制完成。"
- )
复制代码
作者: czjt1234 时间: 2024-3-21 15:49
另存为ANSI编码试试
作者: 77七 时间: 2024-3-21 16:35
- @echo off
- rem 批处理保存为ansi编码格式
- md "B" 2>nul
- for %%a in (*家访*) do (
- copy "%%a" "B\"
- )
- pause
复制代码
作者: Batcher 时间: 2024-3-21 20:27
回复 1# wangkuang
请参考Q-04把test.bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
如果仍有问题,请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
作者: holley 时间: 2024-3-22 10:33
本帖最后由 holley 于 2024-3-22 10:39 编辑
回复 1# wangkuang
14行 这句 我读得懂意思,但...- @echo off
- setlocal enabledelayedexpansion
-
- :: 检查目标文件夹B是否存在,如果不存在则创建
- if not exist "B\" (
- mkdir "B"
- if errorlevel 1 (
- echo 创建文件夹B失败,请检查权限。
- goto :EOF
- )
- )
-
- :: 查找当前目录下文件名包含“家访”的文件,并复制到B文件夹内
- for /r %%i in (*家访*) do (
- echo 正在复制文件: %%i
- copy "%%i" "B\"
- if errorlevel 1 (
- echo 复制文件 %%i 失败。
- ) else (
- echo 复制文件 %%i 成功。
- )
- )
-
- echo.
- echo 复制操作完成。
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |