CMD 的 echo 不支持像 Linux 那样用引号输出多行内容
CMD 的 echo 不支持像 Linux 那样用引号输出多行内容
Linux 可以这样(CMD 不行):
# Linux 支持
echo "public class Hello {public static void main(String[] args) {System.out.println(\"Hello\");}
}" > Hello.java
CMD 的限制
CMD 的 echo 命令不支持多行字符串,引号内的换行会被忽略或报错。
但 PowerShell 可以!
PowerShell 支持类似 Linux 的写法:
# 使用 Here-String (推荐)
@"
public class Hello {public static void main(String[] args) {System.out.println("Hello World");}
}
"@ > Hello.java
或者:
# 使用反引号续行
echo "public class Hello {`public static void main(String[] args) {`System.out.println(`"Hello`");`}`
}" > Hello.java
总结
- CMD: ❌ 不支持多行字符串
- PowerShell: ✅ 支持,用
@"..."@或反引号 - Linux Bash: ✅ 支持
如果在 Windows 上需要类似 Linux 的多行输出功能,建议使用 PowerShell 而不是 CMD。
