我在我的svn diff一个文件上做了一个,svn将它检测为二进制类型.该文件是可读的纯文本,我希望能够得到这个文件的差异.我如何告诉SVN这不是二进制文件?
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Run Code Online (Sandbox Code Playgroud) 我正在尝试做一个简单的事情:将文件编码从任何东西更改为UTF-8而不使用BOM.我找到了几个执行此操作的脚本,唯一真正适合我的脚本就是这个:https://superuser.com/questions/397890/convert-text-files-recursively-to-utf-8-in-powershell#回答-397915.
它按预期工作,但我需要生成的文件没有BOM.所以我尝试稍微修改脚本,添加给出这个问题的解决方案:使用PowerShell以UTF-8编写一个没有BOM的文件
这是我的最终剧本:
foreach ($i in Get-ChildItem -Recurse) {
if ($i.PSIsContainer) {
continue
}
$dest = $i.Fullname.Replace($PWD, "some_folder")
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
if (!(Test-Path $(Split-Path $dest -Parent))) {
New-Item $(Split-Path $dest -Parent) -type Directory
}
get-content $i | out-file -encoding $Utf8NoBomEncoding -filepath $dest
}
Run Code Online (Sandbox Code Playgroud)
问题是,对于System.Text.UTF8Encoding($False)线路,powershell返回一个错误,抱怨参数不正确:
无法验证"编码"参数的参数.参数"System.Text.UTF8Encoding"不属于ValidateSet属性指定的组"unicode,utf7,utf8,utf32,ascii".
我想知道我是否遗漏了一些东西,比如powershell版本或类似的东西.我以前从未编写过Powershell脚本,所以我完全迷失了.而且我需要更改这些文件编码,其中有数百个,我不想一个接一个地自己做.
实际上我正在使用Windows 7附带的2.0版本.
提前致谢!
编辑1
我尝试了以下代码,由@LarsTruijens和其他帖子建议:
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
foreach ($i in Get-ChildItem -Recurse) {
if ($i.PSIsContainer) {
continue
}
$dest = $i.Fullname.Replace($PWD, "some_folder")
if (!(Test-Path …Run Code Online (Sandbox Code Playgroud)