我目前正在使用powershell来创建.bat脚本。
我将文本放在带有>>
例如,
Write "start program xxx" >> script.bat
但是当我尝试使用cmd执行此script.bat时,它说: “■s”无法识别......等 在powershell中,它说:“þp”无法识别..
所以我想做>> script
在行的开头加上特殊字符。如果有人得到这方面的信息。那些“■s”和“þp”是什么。
答案 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
。)