Out-File
似乎在使用UTF-8时强制BOM:
$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding "UTF8" $MyPath
Run Code Online (Sandbox Code Playgroud)
如何使用PowerShell以UTF-8编写没有BOM的文件?
我使用以下代码比较了两个文件:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
Run Code Online (Sandbox Code Playgroud)
如何将此输出写入新的文本文件?我尝试过使用echo命令,但我真的不懂语法.
我像这样运行ffmpeg:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = new System.Diagnostics.ProcessStartInfo(ffmpegPath, myParams);
p.Start();
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
...但问题是带有ffmpeg的控制台会立即弹出并消失,所以我无法获得任何反馈.我甚至不知道该过程是否正确运行.
那么我怎么能:
告诉控制台保持打开状态
在C#中检索控制台显示的内容
我正在运行一个Go程序,该程序会生成gif格式的文件。使用Bash或命令提示符时,将成功生成文件。但是,在使用PowerShell或PowerShell-Core时,出现错误:“图像'file:/// C:\ Users \ blah \ blah \ blah'无法显示,因为它包含错误”。
如何使用PowerShell正确生成此文件?
我试图运行与Bash和命令提示符完全相同的命令。我还尝试使用PowerShell cmdlet(例如Out-File和Tee-Object)。
go build main.go
.\main.exe > out.gif
firefox out.gif
Run Code Online (Sandbox Code Playgroud)
在Bash或命令提示符中执行上述操作将生成文件和所需的gif。在PowerShell中执行该操作会产生上述错误消息(由于包含错误,无法显示图像)。
我也尝试过:
.\main.exe | Out-File out.gif
and
.\main.exe | Tee-Object out.gif
Run Code Online (Sandbox Code Playgroud)
两者都生成损坏的文件。
我有一个用于文件字符编码对话的PowerShell脚本.
Get-ChildItem -Path D:/test/data -Recurse -Include *.txt |
ForEach-Object {
$inFileName = $_.DirectoryName + '\' + $_.name
$outFileName = $inFileName + "_utf_8.txt"
Write-Host "windows-1251 to utf-8: " $inFileName -> $outFileName
E:\bin\iconv\iconv.exe -f cp1251 -t utf-8 $inFileName > $outFileName
}
Run Code Online (Sandbox Code Playgroud)
但它不是utf-8,而是将文件字符编码转换为utf-16.当我从命令行调用iconv实用程序时,它工作正常.
我错了什么?