中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 12:49
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]文件关联检测的问题
可打印版本  901 / 3
第1楼 luckboy45 发表于 2009-10-05 18:33
中级用户 发帖 212 积分 487
[已解决]文件关联检测的问题

@echo off & setlocal EnableDelayedExpansion
(for %%a in (txt exe com pif reg bat cmd hlp ini inf vbs vbe js ) do (
for /f "delims== tokens=1*" %%i in ('ftype %%afile') do (
echo .%%a
)
)
) >>%temp%\4.txt
(echo .txt
echo .exe
echo .com
echo .pif
echo .reg
echo .bat
echo .cmd
echo .hlp
echo .ini
echo .inf
echo .vbs
echo .vbe
echo .js ) >>%temp%\5.txt
echo ===========================================
echo 文件关联
for /f "tokens=1*" %%a in (%temp%\5.txt) do (
set type%%a=%%b
)
for /f "tokens=1*" %%a in (%temp%\4.txt) do (
if /I not "%%b"=="!type%%a!" (
echo/%%a %%b 关联错误!
) else (echo/%%a %%b)
)>>3.txt


以上为修改后的代码,效果已经达到,感谢楼下兄弟指点!

[ Last edited by luckboy45 on 2009-10-6 at 19:53 ]
第2楼 Hanyeguxing 发表于 2009-10-06 01:54
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
if not "%%b"=="!type%%a!" (
这一行的 if 比较,没有使用 /i 参数,导致比较中未忽略大小写!
第3楼 Hanyeguxing 发表于 2009-10-06 03:15
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂


[ Last edited by Hanyeguxing on 2009-10-6 at 13:52 ]
第4楼 luckboy45 发表于 2009-10-06 19:50
中级用户 发帖 212 积分 487
@echo off & setlocal EnableDelayedExpansion
(for %%a in (txt exe com pif reg bat cmd hlp ini inf vbs vbe js ) do (
for /f "delims== tokens=1*" %%i in ('ftype %%afile') do (
echo .%%a
)
)
) >>%temp%\4.txt
(echo .txt
echo .exe
echo .com
echo .pif
echo .reg
echo .bat
echo .cmd
echo .hlp
echo .ini
echo .inf
echo .vbs
echo .vbe
echo .js ) >>%temp%\5.txt
echo ===========================================
echo 文件关联
for /f "tokens=1*" %%a in (%temp%\5.txt) do (
set type%%a=%%b
)
for /f "tokens=1*" %%a in (%temp%\4.txt) do (
if /i not "%%b"=="!type%%a!" (
echo/%%a %%b 关联错误!
) else (echo/%%a %%b)
)>>3.txt


感谢兄弟指点,代码如上,确实过滤成功了!看样子得多学习下基本命令啊
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023