[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
判断文件(夹)路径中是否含中文,可用gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )实现:
  1. dir/b/s|gawk "{if($0~/[一-龥]/){print \"含中文\t\" $0 }else{print \"无中文\t\" $0 }}">con
复制代码

TOP

回复 6# swanseabrian


   
把gawk指令写进for中就能引用,以下是个比较通用的示例(太复杂,不喜欢,俺更喜欢单条指令完成工作情况)
  1. @echo off
  2. @rem 保存为ANSI格式
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%a in ('dir/s/b') do (
  5. for /f "delims=" %%b in ('echo;%%~a^|gawk "{if($0~/[一-龥]/){print 1 }else{print 0 }}"') do (
  6. if %%b EQU 1 (
  7. echo;含中文 "%%~a"
  8. ) else (
  9. echo; "%%~a"
  10. )
  11. )
  12. )
复制代码

TOP

以下引用示例就简单了许多
  1. @echo off
  2. @rem 保存为ANSI格式
  3. for /f "delims=" %%a in ('dir/s/b^|gawk "{if($0~/[一-龥]/){print \"含中文\t\" $0 }else{print \"\t\" $0 }}"') do echo;%%~a
复制代码

TOP

返回列表