我有以下脚本:
@echo off
title cpm
color e
powershell -command "& cls; `
Write-Host write anything:; `
echo "hello""
它不会让我那样执行它,我如何转义空行以便它可以执行?我试过用 \ 和 ^^ 都试过,如果我把它放在一行中,它运行得很好
我有以下脚本:
@echo off
title cpm
color e
powershell -command "& cls; `
Write-Host write anything:; `
echo "hello""
它不会让我那样执行它,我如何转义空行以便它可以执行?我试过用 \ 和 ^^ 都试过,如果我把它放在一行中,它运行得很好
根据我的评论,来自您的另一篇文章,我在其中提供反馈。这就是我的意思。
以下将如图所示工作......
...但是,如果您对“Get-Process”说尝试和我们使用 Select-Object 命令,它将失败。同样,您尝试触发的 PS 命令越复杂,您将遇到的问题(格式和执行)就越多。
所以,我无法理解为什么 bat/cmd 带有嵌入式 PS 代码,但是,再次,只需编写一个 .ps1 并通过 PS 从您的 bat/cmd 文件中调用它。您将拥有更多的灵活性和可读性选项,并且更少的头痛和不合理的代码语句。
我不确定您的意图,但命令行 Powershell 命令有点偏离。我相信您想要类似于我在下面的内容,但您可能希望将清除屏幕调用移动
"& cls"
到echo "hello"
. 另外,清屏也是命令行自带的,只需使用cls
(不需要使用Powershell):您还可以将这些 PS 命令链接在一起:
在编写批处理脚本时,您可以使用
^
(就像在编辑问题之前所做的那样)进行行继续。删除"
您在 Powershell 命令开头添加的内容。在 Write-Host cmdlet 之后添加,"
因为您的字符串中有一个空格。