gpt4 book ai didi

powershell - 如何从 PowerShell 写入 .CMD 文件?

转载 作者:行者123 更新时间:2023-12-03 08:03:23 26 4
gpt4 key购买 nike

如何从 PowerShell 写入有效的 .CMD(或 .BAT)文件?我正在使用 >运算符但 cmd.exe无法执行我创建的文件。

下面是我正在尝试做的一个例子。 [为了比较,我还写了一个来自 CMD.EXE 的 .CMD 文件|并表明它工作正常]

在 PowerShell 中:

PS C:\> "@set BAR=1" > bar.cmd  // write to a .CMD file from PowerShell

在 CMD.EXE 中:
C:\> echo @set FOO=1 > foo.cmd  // write to a .CMD file from CMD.EXE
C:\> type foo.cmd // display .CMD file written from CMD.EXE
@set FOO=1 // PASS
C:\> type bar.cmd // display .CMD file written from PowerShell
@set BAR=1 // PASS
C:\> call foo.cmd // invoke .CMD file written from CMD.EXE
C:\> echo %FOO%
1 // PASS
C:\> call bar.cmd // invoke .CMD file written from PowerShell
C:\> ■@ // FAIL
'■@' is not recognized as an internal or external command,
operable program or batch file.

我怀疑 bar.cmd正在使用 call 不支持的编码创建在 CMD.EXE . [虽然注意到 type显示 bar.cmd的内容没有问题在其当前编码中。]

从 PowerShell 以编程方式写入 .CMD 文件以便可以从 CMD.EXE 调用它的正确方法是什么?与 call ?

最佳答案

Set-Content bar.cmd '@set BAR=1' -Encoding ASCII

PowerShell 将默认为 UTF-16 LE。

精简版。
sc bar.cmd '@set BAR=1' -en ASCII

关于powershell - 如何从 PowerShell 写入 .CMD 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com