我在编写powershell脚本的过程中遇到了问题。我应该复制3个.dll文件到C:\Windows\SYSWOW64文件夹中。如果我使用环境变量
$systemFolder = [System.Environment]::SystemDirectory因此,在64位系统上运行64位进程
$systemFolder = "C:\Windows\system32"是任何环境变量或访问SYSWOW64文件夹的一些构造。我想出了这样的解决方案,但我认为还有更正确的解决方案
$targetFolder = [System.Environment]::SystemDirectory
if([Environment]::Is64BitProcess){
$targetFolder = "$env:windir\SYSWOW64"
}非常感谢
发布于 2020-09-03 21:17:03
我不认为这种解决方案有什么问题,但你的另一个选择可能是在32位进程中运行你的脚本,你可以通过使用Start-Job和RunAs32参数作为作业运行来做到这一点。
Start-Job -ScriptBlock {[Environment]::Is64BitProcess} -RunAs32 | Wait-Job | Receive-Job
False
Start-Job -ScriptBlock {[Environment]::Is64BitProcess} | Wait-Job | Receive-Job
True另一种选择是使用Environment.SpecialFolder
[Environment]::GetFolderPath([System.Environment+SpecialFolder]::SystemX86)
C:\WINDOWS\SysWOW64https://stackoverflow.com/questions/63723221
复制相似问题