【发布时间】:2017-12-06 15:09:21
【问题描述】:
我正在编写一个 powershell 脚本,我想在其中 .zip 一个包含 2 个子目录的目录。在其中一个子目录中,我想排除另一个目录。
myDirectory
-- sub 1
--- sub 1.1
--- sub 1.2
-- sub 2
--- sub 2.1
--- sub 2.2
我编写了这个脚本,但它不起作用。谁能给我一个提示或告诉我我做错了什么?
$ChildItemPath = "myDirectory"
$Date = [DateTime]::Now.ToString("yyyyMMdd-HHmmss")
$Exclude = @("myDirectory/sub 2/sub 2.1")
$DestinationPath = "Archive-v" + $Date
$CompressPath = Get-ChildItem -Path $ChildItemPath -Exclude $Exclude
Compress-Archive -Path $CompressPath -DestinationPath $DestinationPath -update
.bat/.ps1 文件与“myDirectory”位于同一目录中
-------------- 编辑 19:55 ----- --------- 当子文件夹非常“小”时,Reza 建议的解决方案可以正常工作。我正在尝试从 AngularClient-dir 中排除“node_modules”。
所以最终的 .zip 文件包含一个 'serverside'-dir: vs217 asp.net core project 和一个没有 node_modules 的 'clientside'-dir: angular4 项目
【问题讨论】:
-
-Exclude仅适用于-Recurse或*参数中的*通配符。 -
你的意思是,这不能做?
-
这意味着您需要使用这两种方法之一才能完成。
-
@user7049371 您可以在以下位置找到可能的解决方案:stackoverflow.com/a/59018865/2349693
标签: powershell zip node-modules subdirectory