Che*_*eso 3 .net registry powershell file stream
这是C#代码.你能帮我把它翻译成powershell吗?
private static void Main(string[] args)
{
byte[] buffer = (byte[]) Registry.LocalMachine.OpenSubKey(@"HARDWARE\ACPI\DSDT\HP____\8510x\00010000").GetValue("00000000");
if (File.Exists("8510x.orig"))
{
Console.WriteLine("File 8510x.orig already exists.");
}
else
{
using (FileStream stream = new FileStream("8510x.orig", FileMode.CreateNew))
{
stream.Write(buffer, 0, buffer.Length);
stream.Flush();
stream.Close();
}
Console.WriteLine("Wrote 8510x.orig.");
}
}
Run Code Online (Sandbox Code Playgroud)
Kei*_*ill 10
您不想使用Out-File,因为它以字符串形式输出并使用unicode启动.以下工作基于类似的注册表项:
$b = Get-ItemProperty HKLM:\HARDWARE\ACPI\DSDT\A7546\A7546011\00000011 00000000
$b.'00000000' | Set-Content foo.txt -enc byte
Run Code Online (Sandbox Code Playgroud)
请注意,当您希望更直接地控制写入文件的内容时,Set-Content非常有用,尤其是在您想要写入原始字节时.