首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用其他程序时的Powershell变量扩展

调用其他程序时的Powershell变量扩展
EN

Stack Overflow用户
提问于 2012-05-07 22:35:00
回答 2查看 3.1K关注 0票数 5

我在使用Powershell中的7za命令行实用程序解压文件时遇到了一个小问题。

我将$zip_source变量设置为压缩文件的路径,将$unzip_destination设置为所需的输出文件夹。

但是,7za的命令行用法需要如下所示的参数:

代码语言:javascript
复制
7za x -y <zip_file> -o<output_directory>

因此,我当前的调用如下所示:

代码语言:javascript
复制
& '7za' x -y "$zip_source" -o$unzip_destination

由于在-o和目的地之间不能有空格的事实,PowerShell似乎不会展开$unzip_destination变量,而$zip_source是展开的。

目前,该程序只是将所有文件解压缩到名为$unzip_destination的文件夹中的C:\根目录下。在变量周围设置不同类型的引号也不起作用:

代码语言:javascript
复制
-o"$unzip_destination" : still extracts to C:\$unzip_destination
-o'$unzip_destination' : still extracts to C:\$unzip_destination
-o $unzip_destination  : Error: Incorrect command line

有没有办法在运行该命令之前强制展开?

EN

回答 2

Stack Overflow用户

发布于 2012-05-07 22:49:27

试试这个:

代码语言:javascript
复制
& '7za' x -y "$zip_source" "-o$unzip_destination" 
票数 6
EN

Stack Overflow用户

发布于 2012-07-30 22:20:49

这应该是可行的:

代码语言:javascript
复制
& '7za' x -y $zip_source -o${unzip_destination} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10483960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档