Nushell
安装 Nu !
快速开始
  • Nushell 之书
  • 命令参考列表
  • 实战指南
  • 语言参考指南
  • 贡献指南
博客
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
安装 Nu !
快速开始
  • Nushell 之书
  • 命令参考列表
  • 实战指南
  • 语言参考指南
  • 贡献指南
博客
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
  • 简介
  • 安装
    • 默认 Shell
  • 快速入门
    • 快速入门
    • 在系统中四处移动
    • 用 Nu 的方式思考
    • Nushell 速查表
  • Nu 基础篇
    • 数据类型
    • 加载数据
    • 管道
    • 处理字符串
    • 处理列表
    • 处理记录(Records)
    • 处理表格
    • 导航和访问结构化数据
    • 特殊变量
  • Nushell 编程
    • 自定义命令
    • 别名
    • 运算符
    • 变量
    • 控制流
    • 脚本
    • 模块
      • 使用模块
      • 创建模块
    • 覆层
    • 排序
    • 测试你的 Nushell 代码
    • 最佳实践
  • Nu 作为 Shell 使用
    • 配置
    • 环境
    • 标准输入、输出和退出码
    • 运行系统(外部)命令
    • 如何配置第三方提示
    • 目录栈
    • Reedline,Nu 的行编辑器
    • 自定义补全
    • 外部命令
    • Nu 的配色和主题
    • 钩子
    • 后台任务
  • 迁移到 Nu
    • 从 Bash 到 Nu
    • 从 CMD.EXE 到 Nu
    • 从其他 Shell 或 DSL 到 Nu
    • 从命令式语言到 Nu
    • 从函数式语言到 Nu
    • Nushell 运算符
  • 设计说明
    • Nushell代码执行原理
  • (不怎么)高级篇
    • 标准库 (预览版)
    • Dataframes
    • 元数据
    • 创建你自己的错误
    • 并行
    • 插件
    • explore

从 CMD.EXE 到 Nu

此表最后更新于 Nu 0.67.0。

CMD.EXENu任务
ASSOC显示或修改文件扩展名关联
BREAK触发调试器断点
CALL <filename.bat><filename.bat>运行批处理程序
nu <filename>在新上下文中运行 nu 脚本
source <filename>在此上下文中运行 nu 脚本
use <filename>将 nu 脚本作为模块运行
CD or CHDIR$env.PWD获取当前工作目录
CD <directory>cd <directory>更改当前目录
CD /D <drive:directory>cd <drive:directory>更改当前目录
CLSclear清除屏幕
COLOR设置控制台默认前景色/背景色
ansi {flags} (code)输出 ANSI 代码以更改颜色
COPY <source> <destination>cp <source> <destination>复制文件
COPY <file1>+<file2> <destination>[<file1>, <file2>] | each { open --raw } | str join | save --raw <destination>将多个文件追加到一个文件中
DATE /Tdate now获取当前日期
DATE设置日期
DEL <file> or ERASE <file>rm <file>删除文件
DIRls列出当前目录中的文件
ECHO <message>print <message>将给定值打印到标准输出
ECHO ON将执行的命令回显到标准输出
ENDLOCALexport-env在调用者中更改环境
EXITexit关闭提示符或脚本
FOR %<var> IN (<set>) DO <command>for $<var> in <set> { <command> }为集合中的每个项目运行命令
FTYPE显示或修改文件扩展名关联中使用的文件类型
GOTO跳转到标签
IF ERRORLEVEL <number> <command>if $env.LAST_EXIT_CODE >= <number> { <command> }如果最后一个命令返回的错误代码 >= 指定值,则运行命令
IF <string> EQU <string> <command>if <string> == <string> { <command> }如果字符串匹配,则运行命令
IF EXIST <filename> <command>if (<filename> | path exists) { <command> }如果文件存在,则运行命令
IF DEFINED <variable> <command>if '$<variable>' in (scope variables).name { <command> }如果定义了变量,则运行命令
MD or MKDIRmkdir创建目录
MKLINK创建符号链接
MOVEmv移动文件
PATH$env.Path显示当前路径变量
PATH <path>;%PATH%$env.Path = ($env.Path | append <path>)编辑路径变量
PATH %PATH%;<path>$env.Path = ($env.Path | prepend <path>)编辑路径变量
PAUSEinput "Press any key to continue . . ."暂停脚本执行
PROMPT <template>$env.PROMPT_COMMAND = { <command> }更改终端提示符
PUSHD <path>/POPDenter <path>/dexit临时更改工作目录
REM#注释
REN or RENAMEmv重命名文件
RD or RMDIRrm删除目录
SET <var>=<string>$env.<var> = <string>设置环境变量
SETLOCAL(默认行为)将环境更改本地化到脚本
START <path>部分由 start <path> 覆盖在系统配置的默认应用程序中打开路径
START <internal command>启动一个单独的窗口来运行指定的内部命令
START <batch file>启动一个单独的窗口来运行指定的批处理文件
TIME /Tdate now | format date "%H:%M:%S"获取当前时间
TIME设置当前时间
TITLE设置 cmd.exe 窗口名称
TYPEopen --raw显示文本文件的内容
open将文件作为结构化数据打开
VER显示操作系统版本
VERIFY验证文件写入是否发生
VOL显示驱动器信息

转发的 CMD.EXE 命令

Nu 通过 cmd.exe 接受并运行一些 CMD.EXE 的内部命令。

内部命令是:ASSOC、CLS、ECHO、FTYPE、MKLINK、PAUSE、START、VER、VOL

这些内部命令优先于外部命令。

例如,在当前工作目录中有一个 ver.bat 文件,执行 ^ver 会执行 CMD.EXE 的内部 VER 命令,而不是 ver.bat 文件。

但是,执行 ./ver 或 ver.bat 将执行本地的 bat 文件。

请注意 Nushell有自己的start命令且优先级更高。 你可以使用外部命令语法 ^start 调用 CMD.EXE 的内部 START 命令。

在GitHub上编辑此页面
Contributors: voyage200🍬
Prev
从 Bash 到 Nu
Next
从其他 Shell 或 DSL 到 Nu