Board logo

标题: [求助]判断文件夹与应用程序 [打印本页]

作者: se0818     时间: 2006-12-26 19:09    标题: [求助]判断文件夹与应用程序

偶做的是个免疫补丁需要一些“判断”命令?

大家可能会说直接删除不就行了吧!可是有些东东是需要替换的。
我用“文件夹”冒充“EXE应用程序”两者之间怎么判断?判断是“文件夹”还是“EXE应用程序”

比如该系统没有打过补丁而是中毒 命令中能实现“判断”命令吗

判断出是应用程序 %windir%\logo1_.exe(发现病毒)

判断出是文件夹 %windir%\logo1_.exe(你已打过补丁)

该命令最好是XP自带。无许添加任何应用程序命令。

恳请高手给个典型的范例。谢谢
作者: namejm     时间: 2006-12-26 21:05

@echo off
pushd %windir%\logo1_.exe 2>nul&&echo 这是文件夹||echo 这是文件
popd
pause

作者: redtek     时间: 2006-12-26 21:52
真是巧妙,欣赏~~~
作者: se0818     时间: 2006-12-29 07:29
十分感谢“namejm”提供的“pushd”命令!但下面的偶看了您的命令后无法实现判断


原文

@echo off

检查判断是否是文件夹、文件

pushd %windir%\logo1_.exe

如果判断出是(文件夹)则提示系统安全您已打过补丁!

反之(文件)发现病毒 goto Lite1

:Lite1
@echo -------------正在终止病毒进程-------------
@taskkill /im temp1.exe
md %windir%\logo1_.exe

检查判断 这有2个结果 偶需要跳转命令 自行设置失败由于对该命令不够熟悉!
请再次给个经典的演示代码。
作者: namejm     时间: 2006-12-29 07:36
  pushd 和 popd 要配对使用,进入某个文件夹之后再返回当前目录,以防止工作目录发生改变。演示代码如下:
@echo off
pushd %windir%\logo1_.exe 2>nul&&echo 系统安全,您已打过补丁!||goto Lite1
popd
pause
goto :eof

:Lite1
@echo -------------正在终止病毒进程-------------
@taskkill /im temp1.exe
md %windir%\logo1_.exe
pause
goto :eof

作者: tao0610     时间: 2006-12-29 07:51
用CD 或者 \nul 也可以判断.
作者: namejm     时间: 2006-12-29 08:21


  Quote:
Originally posted by tao0610 at 2006-12-28 18:51:
用CD 或者 \nul 也可以判断.

  用 \nul 来判断确实是个超级技巧,呵呵,加分。

  CD 虽然也可以,但是考虑到代码的简洁性,pushd 和 popd 组合更有优势。
作者: zh159     时间: 2006-12-29 08:30
俺一直用 \nul 判断文件夹^_^
作者: lifeisn     时间: 2010-3-21 07:05
@for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do set dated=%%a-%%b-%%c
@IF NOT EXIST "%dated%" md %dated%