中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]文件关联检测的问题
作者:
标题: [已解决]文件关联检测的问题 上一主题 | 下一主题
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『楼 主』:  [已解决]文件关联检测的问题



  Quote:
@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       [%%j]
  )
)
) >>%temp%\4.txt
(echo .txt     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .exe     ["%%1" %%*]
echo .com     ["%%1" %%*]
echo .pif     ["%%1" %%*]
echo .reg     [regedit.exe "%%1"]
echo .bat     ["%%1" %%*]
echo .cmd     ["%%1" %%*]
echo .hlp     [%%SystemRoot%%\system32\winhlp32.exe %%1]
echo .ini     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .inf     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .vbs     [%%SystemRoot%%\System32\WScript.exe "%%1" %%*]
echo .vbe     [%%SystemRoot%%\System32\CScript.exe "%%1" %%*]
echo .js      [%%SystemRoot%%\System32\WScript.exe "%%1" %%*]) >>%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 ]



逍遥@浪子@反病毒
2009-10-5 18:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

if not "%%b"=="!type%%a!" (
这一行的 if 比较,没有使用 /i 参数,导致比较中未忽略大小写!

   此帖被 +4 点积分        点击查看详情   
评分人:【 luckboy45 分数: +4  时间:2009-10-6 19:51




批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-10-6 01:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 3 楼』:  


@echo off&for /l %%i in (1 1 50) do set/p=*<nul
echo.&echo          文件关联&set X=%%SystemRoot%%\System32\&set Y=.exe "%%1"&set Z=.exe %%1
set hlp=%X%winhlp32%Z%&set reg=regedit%Y%&set vbe=%X%CScript%Y% %%*
for %%i in (exe com pif bat cmd) do set %%i="%%1" %%*
for %%i in (txt ini inf) do set %%i=%X%NOTEPAD%Z%
for %%i in (vbs js) do set %%i=%X%WScript%Y% %%*
for %%i in (txt exe com pif reg bat cmd hlp ini inf vbs vbe js) do for /f "delims== tokens=1*" %%j in ('ftype %%ifile') do setlocal enabledelayedexpansion&if /i "!%%i!"=="%%k" (echo %%i        %%k) else echo %%i        %%k        关联可能错误!
pause
[ Last edited by Hanyeguxing on 2009-10-6 at 13:52 ]

   此帖被 +4 点积分        点击查看详情   
评分人:【 luckboy45 分数: +4  时间:2009-10-6 19:51




批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-10-6 03:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 4 楼』:  



  Quote:
@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       [%%j]
  )
)
) >>%temp%\4.txt
(echo .txt     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .exe     ["%%1" %%*]
echo .com     ["%%1" %%*]
echo .pif     ["%%1" %%*]
echo .reg     [regedit.exe "%%1"]
echo .bat     ["%%1" %%*]
echo .cmd     ["%%1" %%*]
echo .hlp     [%%SystemRoot%%\system32\winhlp32.exe %%1]
echo .ini     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .inf     [%%SystemRoot%%\system32\NOTEPAD.EXE %%1]
echo .vbs     [%%SystemRoot%%\System32\WScript.exe "%%1" %%*]
echo .vbe     [%%SystemRoot%%\System32\CScript.exe "%%1" %%*]
echo .js      [%%SystemRoot%%\System32\WScript.exe "%%1" %%*]) >>%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

感谢兄弟指点,代码如上,确实过滤成功了!看样子得多学习下基本命令啊



逍遥@浪子@反病毒
2009-10-6 19:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: