Ber*_*nnF 4 powershell variable-expansion
尝试使用7za
Powershell中的命令行实用程序解压缩文件时遇到一个小问题.
我将$zip_source变量设置为zip文件的路径和
$unzip_destination所需的输出文件夹.
但是,7za需要参数的命令行用法指定如下:
7za x -y <zip_file> -o<output_directory>
Run Code Online (Sandbox Code Playgroud)
所以我目前的电话看起来像这样:
& '7za' x -y "$zip_source" -o$unzip_destination
Run Code Online (Sandbox Code Playgroud)
由于-o目标之间不存在空间,因此PowerShell似乎不会扩展$unzip_destination变量,而是$zip_source扩展.
目前,程序只是将所有文件提取到C:\名为的文件夹的根目录中$unzip_destination.在变量周围设置不同类型的引号既不起作用:
-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
Run Code Online (Sandbox Code Playgroud)
在运行命令之前有没有办法强制扩展?
尝试这样:
-o $($unzip_destination)
Run Code Online (Sandbox Code Playgroud)
编者注:此解决方案仅适用于后面有一个空格-o(在这种情况下就-o $unzip_destination可以) - 如果删除它,该命令将无法按预期工作。
因此,这种方法不适合按照 OP 的要求将变量值直接附加到选项名称。
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |