windows操作系统cmd命令行的执行程序存储在哪里?

比在cmd中敲入 mkdir abc
这个负责创建文件夹具体操作的"程序"在哪里能看到?

阅读 6.6k
3 个回答

mkdir是cmd的内置命令,但是像taskkill这种则是有实际的可执行文件的

这个问题……正常情况下使用everything搜索神器 所有目录搜索mkdir.exe就有了
一般系统命令行的程序在path环境变量的目录里 右击我的电脑属性 高级系统设置 高级 环境变量 path里面

C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps
C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Python35\Scripts\
%SystemRoot%\system32
%SystemRoot%
%SystemRoot%\System32\Wbem
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
G:\msys64\usr\bin
E:\SublimeText3\node-8.9.1x64\

具体看电脑里安装了什么 区分为 用户变量 和 环境变量 里面的path
最简单的就是用everything搜索系统所有盘符目录 对应文件名 有时候不叫.exe 比如.com

windows的mkdir命令比较特殊 不是程序 我搜了 不存在[linux存在]

先通过 微软自身的监控软件 进程监视者Process Monitor 分析得出是cmd自身创建的文件
图片描述
再根据百度到的信息 引用

http://blog.csdn.net/wyq_tc25...
http://www.cnblogs.com/zhenbi...

得出函数包含Directory这个关键字 CE去搜索所有内核函数 依次下断点
最终找到RtlGetCurrentDirectory_U函数 断了下来逆向分析最终确定
cmd使用了kernelbase.GetCurrentDirectoryW这个函数来创建目录的
cmd.exe自身命令调用函数创建的 由于调试坏境是64位 没分析出参数

help mkdir

创建目录。

MKDIR [drive:]path
MD [drive:]path

如果命令扩展名被启用,MKDIR 会如下改变:

如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
存在,那么:

    mkdir \a\b\c\d

与:

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

相同。如果扩展名被停用,则需要键入 mkdir \a\b\c\d。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进