找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 81|回复: 6

[文件操作] 按照字符移动文件

[复制链接]
发表于 昨天 20:37 | 显示全部楼层 |阅读模式
各位晚上好,请教一个问题,在C:\logdata文件夹里面有txt文件,该TXT文件的第六行固定写合格与不合格  字符,如何写命令把字符合格的TXT文件剪切到c:\backup1,把字符不合格的TXT文件剪切到c:\backup2,命令需要连续运行,请多多指导,谢谢。。
发表于 昨天 21:32 | 显示全部楼层

  1. @echo off &setlocal &cd /d "c:\logdata"
  2. for /f "tokens=1-2* delims=:" %%a in ('findstr /irn "合格" *.txt') do if "%%b"=="6" (
  3.    set "c=%%c" &setlocal enabledelayedexpansion
  4.    if "!c:*不合格=!"=="!c!" (move /y "%%a" "c:\backup1\") else (move /y "%%a" "c:\backup2\")
  5.    endlocal)
  6. exit/b
复制代码
发表于 昨天 22:15 | 显示全部楼层
本帖最后由 aloha20200628 于 2026-5-19 22:23 编辑

如果被处理的 *.txt 均为 utf-8 编码,可改用以下批处理脚本...

  1. <# ::
  2. @echo off &setlocal &cd /d "c:\logdata"
  3. powershell -nop -c "iex(${%~f0}|out-string)" &exit/b
  4. #>
  5. dir -file *.txt|%{$a=(gc $_ -enc utf8);if($a[5] -match '不合格'){move $_ 'c:\backup2' -fo}elseif($a[5] -match '合格'){move $_ 'c:\backup1' -fo}}
  6. exit
复制代码
 楼主| 发表于 昨天 23:48 | 显示全部楼层
大哥,如果我需要连续不断运行命令,需要什么更改,谢谢
 楼主| 发表于 昨天 23:48 | 显示全部楼层
先感谢大哥的帮忙
发表于 半小时前 | 显示全部楼层
司马光2008 发表于 2026-5-19 23:48
大哥,如果我需要连续不断运行命令,需要什么更改,谢谢

最简单的方法是套入一个无限循环,假设每次循环间歇 5 秒(可在代码第 7 行自定义该值)

  1. @echo off &setlocal &cd /d "c:\logdata"
  2. :Loop
  3.    for /f "tokens=1-2* delims=:" %%a in ('findstr /irn "合格" *.txt') do if "%%b"=="6" (
  4.    set "c=%%c" &setlocal enabledelayedexpansion
  5.    if "!c:*不合格=!"=="!c!" (move /y "%%a" "c:\backup1\") else (move /y "%%a" "c:\backup2\")
  6.    endlocal)
  7.    timeout /t 5 >nul
  8.    goto :Loop
复制代码
发表于 22 分钟前 | 显示全部楼层
司马光2008 发表于 2026-5-19 23:48
大哥,如果我需要连续不断运行命令,需要什么更改,谢谢

同法将 3 楼代码订正如下
  1. <# ::
  2. @echo off &setlocal &cd /d "c:\logdata"
  3. :Loop
  4.   powershell -nop -c "iex(${%~f0}|out-string)"
  5.   timeout /t 5 >nul
  6.   goto :Loop
  7. #>
  8. dir -file *.txt|%{$a=(gc $_ -enc utf8);if($a[5] -match '不合格'){move $_ 'c:\backup2' -fo}elseif($a[5] -match '合格'){move $_ 'c:\backup1' -fo}}
  9. exit
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-5-20 11:36

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表