如何在Powershell和7zip中正确设置路径?
我有一个Powershell脚本,可以通过7zip创建自解压归档。但它收到了这个错误: 找不到指定的SFX模块 Powershell代码为:如何在Powershell和7zip中正确设置路径?,powershell,7zip,Powershell,7zip,我有一个Powershell脚本,可以通过7zip创建自解压归档。但它收到了这个错误: 找不到指定的SFX模块 Powershell代码为: set-alias sz "$env:ProgramFiles\7-Zip\7z.exe sz a -t7z -sfx -ppassword $fullpath $filetostore 这两个变量都是有效的。我尝试了-sfx和-sfx7z.sfx,同样的错误。7z.sfx文件确实位于带有7zip的正确文件夹中。我还可以验证别名是否正常工作,因为运行代码
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe
sz a -t7z -sfx -ppassword $fullpath $filetostore
这两个变量都是有效的。我尝试了-sfx
和-sfx7z.sfx
,同样的错误。7z.sfx文件确实位于带有7zip的正确文件夹中。我还可以验证别名是否正常工作,因为运行代码时会显示7zip版权(因此7zip命令行正在启动)。此命令在Powershell外部工作
我也尝试
将位置设置到7zip文件夹中,但出现了相同的错误。我遗漏了什么?似乎您应该将7-zip文件夹添加到路径
环境变量中,以简化操作:
#find the 7-zip folder path
$7zPath = (Get-ChildItem "C:\Program Files","C:\Program Files (x86)" -Include "7-zip" -Recurse -ErrorAction SilentlyContinue).FullName
#add it to PATH environment variable
$env:Path += ";$7zPath;"
然后,您可以运行7z-sfx
,而sfx
模块不会出现任何错误。似乎您应该将7-zip文件夹添加到PATH
环境变量中,以简化操作:
#find the 7-zip folder path
$7zPath = (Get-ChildItem "C:\Program Files","C:\Program Files (x86)" -Include "7-zip" -Recurse -ErrorAction SilentlyContinue).FullName
#add it to PATH environment variable
$env:Path += ";$7zPath;"
然后您可以运行7z-sfx
,而不会出现有关sfx
模块的错误。这是一个命令吗?您的7z.exe
命令是否在Set Alias
之外工作?我会用双引号将所有变量括起来以防止空格出现:set alias sz”“”$env:ProgramFiles\7-Zip\7z.exe”“sz a-t7z-sfx-ppassword”“$fullpath”“$filetostore”“”
@BACON这是两行,双引号似乎破坏了脚本`设置位置:找不到接受参数C:\Program Files\7-zip`的位置参数。请提供您正在运行的确切代码及其产生的确切输出。这是一个命令吗?您的7z.exe
命令是否在Set Alias
之外工作?我会用双引号将所有变量括起来以防止空格出现:set alias sz”“”$env:ProgramFiles\7-Zip\7z.exe”“sz a-t7z-sfx-ppassword”“$fullpath”“$filetostore”“”
@BACON这是两行,双引号似乎破坏了脚本`设置位置:找不到接受参数C:\Program Files\7-zip`的位置参数。请提供您正在运行的确切代码及其产生的确切输出。