Powershell生成.bat,并设置特殊字符

时间:2013-07-08 10:29:13

标签: powershell special-characters

我目前正在使用powershell来创建.bat脚本。

我将文本放在带有>>

的.bat脚本中

例如,

Write "start program xxx" >> script.bat

但是当我尝试使用cmd执行此script.bat时,它说: “■s”无法识别......等 在powershell中,它说:“þp”无法识别..

所以我想做>> script在行的开头加上特殊字符。如果有人得到这方面的信息。那些“■s”和“þp”是什么。

1 个答案:

答案 0 :(得分:4)

文件重定向运算符(>>等)将写入以UTF-16编码的文本。如果文件已包含不同编码的文本,则一切都会混淆(我不会使用cmd.exe完全理解UTF-16。

使用Out-File参数更轻松地使用-encoding来指定一致的内容。使用-append开关参数进行追加而不是覆盖。

例如

"Some text" | Out-File -encoding ASCII -append -FilePath 'script.bat`

(如果您发现自己编写了相同的out-file和参数,则将其放入帮助程序高级函数中,该函数将读取管道输入以封装out-file。)