是否有一个程序或 CMD 命令可以让我简单地反转或翻转文件的所有字节?例如,如果我有一个文本文件(作为简单示例)写着“Hello, world!”,程序/命令会将其翻转为“!dlrow,olleH”。
那么,有没有什么办法可以做到这一点?我是一名程序员,我知道为此编写自己的程序很简单,但如果已经有可以做到这一点的东西,我宁愿不去费力。批处理脚本也可以。
答案1
powershell $s='Hello, world!';$s[-1..-($s.length)]-join''
文件:
方法一:
powershell $f=[IO.File]::ReadAllBytes('.\file.txt');$t=[Text.Encoding]::ASCII.GetString($f);$t[-1..-($t.length)]-join''
方法二:
powershell [void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');$s=gc .\file.txt;[Microsoft.VisualBasic.Strings]::StrReverse($s)
字节反转:
慢的:
powershell [byte[]]$b=gc '.\file.bin' -En byte;[array]::Reverse($b);[IO.File]::WriteAllBytes('.\Reverse.bin',$b)
快速地:
powershell [byte[]]$b=[IO.File]::ReadAllBytes('.\file.bin');[array]::Reverse($b);[IO.File]::WriteAllBytes('.\Reverse.bin',$b)
答案2
“我可以使用该 CMD 命令简单地反转或翻转文件的所有字节”:
REM set content to file
set /p="Hello, world!"> test
certutil -encodehex -f test temp 4
REM reverse file contents
set rev=
(for /f "delims=" %i in (temp) do for %j in (%i) do set rev=%j !rev!)
set /p="%rev:~0,-6%">temp
certutil -decodehex temp out.txt
在 Win 10 CMD 上测试