![“type dist/project/{runtime, script, main}.js | 7z > elements.js.gz” 的命令语法不正确](https://linux22.com/image/1594932/%E2%80%9Ctype%20dist%2Fproject%2F%7Bruntime%2C%20script%2C%20main%7D.js%20%7C%207z%20%3E%20elements.js.gz%E2%80%9D%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%AF%AD%E6%B3%95%E4%B8%8D%E6%AD%A3%E7%A1%AE.png)
尝试学习使用 mac 命令转换为 windows。
我正在尝试在 cmd 中运行命令
'type dist/project/{runtime, script, main}.js | 7z > elements.js.gz'
并没有得到太多详细的错误
命令语法不正确
我已安装7z
设置路径为C:\Program Files (x86)\7-Zip
。
答案1
第一个问题:{a,b,c}
Windows 使用的 Cmd shell 中不存在扩展名(注意没有空格)。它只能理解 Unix shell 中常见的几个功能,即|
重定向<
>
,但仅此而已 - 您根本无法在 Cmd 中使用大多数 Bourne/Bash/Zsh 语言功能。
您的选择:
- 输入三个人的全名。
类型 dist\a.js dist\b.js dist\c.js
- 安装 Bash 的 Windows 端口(广泛可用,例如与 Git 捆绑的 msys;Cygwin 是另一种选择)。
- 学习 PowerShell –完全地与 Bash/Bourne shell 不同,它仍然比 Cmd 强大得多。
第二个问题:type
实际上是 Cmd 中的内置命令,很可能会将 / 误解为路径分隔符。虽然 Windows 本身接受它,但许多程序坚持要求您\
正常使用。这对于 Cmd 内置命令尤其常见。
原因是 / 是标准选项前缀,例如dir /w
。
第三个问题:7z
与 不一样gzip
。它可以处理gzip 压缩文件,但仍然是一个不同的程序,而且——如果我没记错的话——它不支持相同的“管道”操作模式。您只能告诉它将现有文件存档到新文件中,而不是将 stdin 存档到 stdout。