吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 183|回复: 2

[原创源码] Linux 系统 which 命令的脚本实现

[复制链接]
发表于 2018-8-10 17:32 | 显示全部楼层
本板块禁止发布 “电子书资料” ,此类主题请发布至『电子书屋』
本板块禁止发布讨论和求助帖,此类主题请发布至『编程语言讨论求助区』
本板块禁止发布 “视频教程” ,此类主题请发布至『动画精品转载区』
本帖最后由 老伙计 于 2018-8-10 18:35 编辑

         第一次发帖,献丑了。
         最近突然对 Windows 下的脚本编程很感兴趣, 于是,就动手编了一个作用类似于 Linux 系统 which 命令的程序, 文件名字叫 which.cmd,内容很简单,只有区区的几十行代码,功能是按照当前目录和 PATH 环境变量的顺序,定位一条命令可能对应的磁盘文件。当我们不知道一个命令具体的磁盘文件路径的时候,就可以用这个脚本搞定。
         例如,如果你想知道 notepad 命令的路径可以键入如下命令:

         which notepad

        就会得到答案。

        C:\Windows\system32\notepad.exe
        C:\Windows\notepad.exe

        一共找到了 2 个相关文件
[Shell] 纯文本查看 复制代码
@Echo off
setlocal enabledelayedexpansion

Set /a v=0

Echo.

If {%1}=={} (
    Echo.        Usage %0 ^<Command^>    
    Goto End
)

For /F %%a In ('CD') Do Set CWD=%%a
Set X="!CWD!\%1.*"
For %%a in (!X!) Do (
    Echo.        %%a
    Set /a v=!v!+1
)
For /F "tokens=1,* delims==" %%a in ('PATH') Do Set P=%%b
:Loop
If {!P!}=={} Goto Quit
For /F "tokens=1,* delims=;" %%a In ("!P!") Do (
    Set X=%%a
    Set P=%%b
    If !X:~-1!==\ Set X=!X:~0,-1!
    Set X="!X!\%1.*"
    For %%i in (!X!) Do (
        Echo.        %%i
        Set /a v=!v!+1
    )
)
Goto Loop
:Quit
If Not !v! equ 0 Echo.
Echo.        一共找到了 !v! 个相关文件

:End
Echo.
Echo.


        把这些代码复制,保存为 which.cmd 然后在这个文件路径下起一个 cmd 窗口,就可以使用了。
        如果一个命令用此脚本找不到对应的磁盘文件,那就可以断定,这条命令一定是操作系统的内部命令。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-8-10 18:21 | 显示全部楼层
我没看懂

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2018-8-10 18:25 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2018-8-18 04:25

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表