我需要在PShell
中使用Compress-Archive
打包文件夹
我的文件夹结构如下:
|- C:\MyFolder
|--- Files
|------ Start.ps1
|------ Stop.ps1
|--- Manifests
|------ Start.xml
|------ Stop.xml
字符串
当我发出这个命令Compress-Archive -Path "C:\MyFolder" -DestinationPath "C:\MyFolder.zip"
时,
结果是一个.zip,它有一个名为“MyFolder”的根文件夹,而我需要的是一个.zip,它复制了MyFolder的树**,而**没有MyFolder作为根文件夹。这可能吗?
1条答案
按热度按时间mmvthczy1#
Path
参数接受特定的文件名和带有通配符的文件名。因此,您可以传递"C:\MyFolder\*
“(其所有文件和子目录 * 因此跳过根目录 *),而不是C:\MyFolder
作为Path
参数。字符串
这里也有记录,
-路径
指定要添加到存档压缩文件中的文件的路径。若要指定多个路径并包括多个位置中的文件,请使用逗号分隔路径。
此参数接受通配符。通配符允许您将目录中的所有文件添加到存档文件中。
对根目录使用通配符会影响归档文件的内容:
要创建包含根目录及其所有文件和子目录的归档文件,请在路径中指定不带通配符的根目录。例如:
-Path C:\Reference
若要创建不包括根目录但压缩其所有文件和子目录的归档文件,请使用星号(*)#。例如:
-Path C:\Reference\*
要创建仅压缩根目录中的文件的存档,请使用star-dot-star(
*.*
)命令。存档中不包括根目录的子目录。例如:-Path C:\Reference\*.*