如何在windows命令提示符下创建ls?

如何在windows命令提示符下创建ls?,windows,windows-xp,cmd,ls,dir,Windows,Windows Xp,Cmd,Ls,Dir,我想在windows命令提示符中使用ls并使其运行dir命令 我该怎么做?您可以: 创建名为ls.bat的批处理文件,并使其仅包含dir命令 将ls.bat文件所在的目录添加到PATH环境变量中 然后,您可以在命令提示符下执行ls。我有一个解决方案,但它是脏的: 创建一个名为ls.bat的文件,该文件仅包含“dir” 将其放入C:\windows\system32(或路径env var中的任何目录) 那应该行得通 编辑:更一致的内容:Vista/7的Windows命令提示符将允许NTFS符号

我想在windows命令提示符中使用ls并使其运行dir命令

我该怎么做?

您可以:

  • 创建名为
    ls.bat
    的批处理文件,并使其仅包含
    dir
    命令
  • ls.bat
    文件所在的目录添加到
    PATH
    环境变量中

然后,您可以在命令提示符下执行
ls

我有一个解决方案,但它是脏的:

创建一个名为ls.bat的文件,该文件仅包含“dir”

将其放入C:\windows\system32(或路径env var中的任何目录)

那应该行得通


编辑:更一致的内容:

Vista/7的Windows命令提示符将允许NTFS符号链接,以管理员身份运行cmd.exe,然后:

mklink ls %System%\dir.exe
然后设置PATH环境变量以包含刚创建的链接的位置

如果您想要的不仅仅是'ls'命令,那么您应该研究一下


EDIT-刚刚意识到
dir.exe
不是一个单独的程序,因此它实际上不起作用。但是要了解
mklink
和cygwin是件好事。

如果您只想让cmd识别
ls
作为
dir
的别名,可以使用
doskey
命令(从)


这不会更改dir命令的原始命令行参数处理。

您也可以直接使用ls命令以及所有其他unix命令行工具。

您可以通过一个简单的命令解决此问题:

echo @dir %* > %systemroot%\system32\ls.bat

如果您使用的是vista及以上版本,请确保首先以管理员身份运行
cmd.exe

给你更多的惊喜

我的ls.bat在下面

@dir %*
可以传输cli参数的

ls /b
ls /w
将其放入%windir%或%PATH%变量中的任何目录中


只需确保使用ANSI编码保存文件:)

肯定ls不能作为unix命令用于批处理。如果您检查%1中的-l或-a等以及它们的所有组合,它将起作用…

我推荐以下配方

  • 使用
    DOSKEY
    $*
    创建
    ls
    命令
  • 通过将命令记录在.bat/.cmd文件中并将该文件的路径添加到注册表中,使该命令持久化
  • 例如,您的命令可能看起来像
    DOSKEY ls=dir

    DOSKEY subgrame=“C:\Program Files\subgrame Text 2\subgrame\u Text”$*

    $*
    对于采用参数的命令很有用。例如,在这里,我希望能够
    升华我的_code.c

    cmd的注册表位于HKEY_CURRENT_USER->Software->Microsoft->Command Processor。创建一个名为AutoRun的字符串值条目,其中包含文件的完整路径(不是包含文件夹),例如
    %USERPROFILE%\custom\u command.cmd
    。然后每次运行cmd时,都会加载您的命令


    您还可以向批处理文件添加更多有用的内容。请参阅示例模板。

    我找到的最简单的方法是:

  • 安装
  • 将Git的
    bin
    目录添加到Path变量中。我的位置在
    C:\ProgramFiles\Git\usr\bin
  • 启动命令提示符,尽情享受
    ls

  • +1在上面的帖子中建议安装git for windows并将目录bin添加到path变量中

    另一种方式是,我在Windows 8和Windows 7机器上使用cmd.exe获得了touch、ls和许多其他UNIX命令

    转到以下站点安装Cygwin

    为您的系统安装32或64位版本。默认设置和软件包应该包括您需要的内容,这样您在进入软件包屏幕后就不必更改任何内容

    安装后,将Cygwin文件夹路径复制到环境路径变量中。例如如果将cygwin安装到C:\cygwin,则将向环境系统路径变量添加以下内容:

    );C:\Cygwin\bin

    在我的系统上,我安装了64位版本,默认文件夹名和路径是C:\cygwin64。因此,我在系统环境路径变量中添加了以下内容:

    );C:\cygwin64\bin

    如果终端打开,请重新启动它。然后键入ls,您将看到一个目录列表

    如果您不熟悉设置路径环境变量,请参见以下内容:

    如果您已在系统上安装,则可以从我为Windows上的Linux命令编写的库中安装:

    npm install cash-ls -g
    
    这是我的名片

    只需将ls.exe添加到某个位置,并将路径添加到path环境变量


    您可以按照以下指南操作:

    TL;DR:将
    /K path/to/custom/init_cmd.bat
    传递给“shell启动”命令

    我使用ConsoleZ作为shell包装器,因此在我的示例中,我可以在“选项卡”中找到设置选项,然后将shell路径设置为
    “C:\Windows\System32\cmd.exe”/K C:\cmd\u init.bat”“

    其中
    C:\cmd_init.bat
    是包含宏的批处理脚本,下面是我的建议:

    @echo off
    
    doskey ls=dir /b
    rem other macro stuff..
    
    很抱歉格式和其他错误,这是我第一次在这里回答。
    我希望有帮助

    另一个对我有效的解决方案是使用,它从可执行文件(包括
    ls
    sed
    grep
    )中添加多个实用程序


    使用:下载。解开拉链。将
    UnxUtils\usr\local\wbin
    路径添加到Windows路径变量。启动一个新的CMD实例。

    使用Windows Linux子系统的人可以从Linux bash调用
    ls
    。以下命令在System32中创建
    ls
    命令:

    echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
    
    (必须首先启用/安装Linux子系统功能)

    最简单的方法是
    • 安装git
    • C:\Program Files\Git\usr\bin
      添加到path变量中
    现在你
    @echo off
    title "ls command cmd bar"
    doskey ls=echo off $T dir $* $T echo on