批处理(Windows)和终端(Linux)之间的差异

  • 不推荐使用 bitsadmin 以支持 PowerShell cmdlet BITS,但仍然适用于 Windows 10 版本 1607

  • certutil 用空格分隔成对的十六进制数字,因此 md5sum 将返回 d41d8cd98f00b204e9800998ecf8427e 的示例值,而 certutil 显示与 d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e 相同的值

  • 要将 cd 转到另一个驱动器(例如,从 C:到 D :),必须使用/d 标志

  • del 无法删除文件夹,请改用 rm

  • grepfindfindstr 强大得多,比较它们几乎是不公平的; find 没有正则表达式功能,findstr 具有非常有限的正则表达式功能([a-z]{2} 不是有效的语法,但 [a-z][a-z] 是)

  • Windows 命令提示符下的 for 循环只能使用单字符变量名; 这是批处理变量名称区分大小写的唯一时间

  • 命令提示符下的 for 循环也使用变量形式%A 而不是%A% - 批处理脚本中的 forloops 使用变量形式%%A

  • md 自动创建任何必要的父目录,而 mkdir 需要 -p 标志才能这样做

  • rem 不得用作内联注释字符,除非它之前是 &

  • ::可能根本不能用作内联注释,也不应该在代码块内使用(括号中的一组)

  • 请注意,某些 Windows 命令如 ping 仍然使用 - 作为标志