将内置命令替换为 CMD.exe 的自定义命令

Dar*_*bik 3 windows command-line

如果我执行如下命令(在 Windows 上cmd.exe):

where dir
Run Code Online (Sandbox Code Playgroud)

或者

where cd
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

INFO: Could not find files for the given pattern(s).
Run Code Online (Sandbox Code Playgroud)

对我来说,这往往意味着 和cd不是dir实际的程序,而是内置于cmd.exe.

现在真正的问题是:

有没有办法用其他程序替换cdand dir?如果你想替换 say more,你可以在系统中将另一个同名的程序放在PATHwhere is 前面more

但你不能用cd和来做到这一点dir。我只是被他们困住了吗?

Dav*_*ill 5

有什么办法可以用其他程序替换cdand吗?dir

\n\n

不,但你可以接近 - 方法如下:

\n\n
    \n
  1. 您可以创建一个名为dir.cmd.

    \n\n
    @echo off\nsetlocal\necho I have replaced dir\nendlocal\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    例子:

    \n\n
    F:\\test>dir.cmd\nI have replaced dir\n\nF:\\test>\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    但是,您必须通过其全名来调用它,dir.cmd而不仅仅是dir,除非\xe2\x80\xa6

  2. \n
  3. 您可以使用doskey重新定义dir

    \n\n
    doskey dir=dir.cmd\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    例子:

    \n\n
    F:\\test>dir\nI have replaced dir\n\nF:\\test>\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n