中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 04:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]怎样筛选复制:仅复制文件名为纯汉字或带汉字的 查看 1,006 回复 4
楼 主 [已结]怎样筛选复制:仅复制文件名为纯汉字或带汉字的 发表于 2009-01-14 15:08 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
怎样筛选复制:
复制时,怎样仅复制文件名为:
纯汉字或带汉字的文件名(前后中均可)

[ Last edited by HAT on 2009-1-17 at 23:52 ]
2 发表于 2009-01-15 10:48 ·  中国 江苏 扬州 江都区 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
请各位朋友指点一下。。。。
3 发表于 2009-01-16 14:08 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f %%a in ('dir /a-d /b') do (
set c=0
call :sub %%a
if !c!==1 echo %%a
)
pause

:sub
set a=%*

:loop
set a=!a:~1!
if not defined a goto :eof
set b=!a:~0,1!
if "!b!" gtr "z" (set c=1)

goto :loop
精简
=> 个人网志
4 以后把要求一次说清楚 发表于 2009-01-17 19:05 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
@echo off&setlocal enabledelayedexpansion
::功能: 全盘搜索含有中文的文本文件
::在需要整理盘上拖一个目录到本批处理上,直接打开处理当前盘

md c:\aa >nul
pushd %1
for /f "tokens=*" %%i in ('dir \*.txt /s /a-d /b') do (
set aa=0
call :sub %%~ni

if !aa!==1 (echo 找到 %%~si&copy %%~si C:\aa\ /y)
)

pause
goto :eof

:sub
set "bb=%*"
:loop
set "b=!bb:~0,1!"
set "bb=!bb:~1!"
if !b! gtr z (set aa=1&goto :eof)
if defined bb goto :loop

goto :eof
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
cad55 +8 2009-01-17 22:37
精简
=> 个人网志
5 发表于 2009-01-17 23:14 ·  中国 江苏 扬州 江都区 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
再次感谢
netbenton
论坛跳转: