您的位置:首页 > 运维架构 > Linux

sometips两个很cool的bat脚本

2005-01-02 14:27 591 查看
一个Reboot的bat文件,应该可以在Windows所有系统下适用
Author: joyadam@myrealbox.com
  Date: 2002-1-13 18:34:39

@echo off
echo welcome to http://www.sometips.com
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%/reboot.inf
del reboot.inf

Author: joyadam@myrealbox.com
  Date: 2002-1-13 18:34:21

在Linux下,有一个命令叫做which,它可以在Path中寻找某个命令所在的目录并显示出来。

Linux下:

[adam@isbase adam]$ which ls

/bin/ls

[adam@isbase adam]$ which rm

/bin/rm

在NT的Resource Kit中有一个where.exe,他也有相同的功效,不过一套Resource Kit要300美元,在这里我们可以作一个批处理文件来实现这个功能。

使用记事本编辑一个which.bat,并将其存放在Winnt目录或者其他Path变量中的目录里,该批处理文件的内容如下:

@echo off

Rem 检查命令行参数

if {%1}=={} goto :Usage

for %%i in ({ {/ {-) do if {%1}==%%i?} goto :Usage %%i

echo.

:Rem 在当前目录检查看是否存在该文件

for %%i in (%1) do if exist %%~nx%i (

    echo %%~Fi

    goto :EOF

)

:Rem 在Path中检查该文件

for %%i in (%1) do (

    if exist %%~$PATH:i (

        echo %%~$PATH:i

    ) else (

        echo Error: %1 不在路径里!!!

        goto :Usage

    )

)

goto :EOF

:Usage

echo.

echo WHICH "filename"

echo.

echo       输入文件明,返回该文件的全路径!

echo.

我们来对我们的程序作一个测试:

Microsoft Windows 2000 [Version 5.00.2195]

(C) 版权所有 1985-1998 Microsoft Corp.

C:/>which

WHICH "filename"

      输入文件明,返回该文件的全路径!

C:/>which cmd.exe

C:/WINNT/system32/cmd.exe

C:/>

OK,测试通过!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息