Powershell 单独压缩文件,而不考虑扩展名
下面是我的代码:Powershell 单独压缩文件,而不考虑扩展名,powershell,7zip,Powershell,7zip,下面是我的代码: Function ZipOnebyOne{ $extension = Get-ChildItem $filePath foreach ($file in $extension) { $name = $file.name $directory = $file.DirectoryName $zipfile = $name.Replace($fileExtension,".7z") sz a -t
Function ZipOnebyOne{
$extension = Get-ChildItem $filePath
foreach ($file in $extension) {
$name = $file.name
$directory = $file.DirectoryName
$zipfile = $name.Replace($fileExtension,".7z")
sz a -t7z "$directory\$zipfile" "$directory\$name"
}
}
我只想将文件单独压缩到$filePath中,而不考虑其扩展名。上述方法不起作用 正如@KenWhite所说,您没有明确说明问题所在,但是,我给您取样并修复了所有我能找到的问题也许,这会对你有所帮助 使用PowerShell 5压缩存档功能的示例
函数ZipOnebyOne{
param(
[参数(必需=$true)]
[字符串]
$filepath
)
$extension=Get ChildItem$filePath-File-Recurse
foreach($扩展名中的文件){
$name=$file.name
$directory=$file.DirectoryName
$fileExtension=$file.Extension
$zipfile=$name.Replace($fileExtension,'.zip'))
压缩存档-路径(连接路径$directory$name)-目标路径(连接路径$directory$zipfile)-更新
}
}
使用7-Zip的示例
“不工作”是一个无用的问题描述。如果你不明白为什么,打电话给你的医生,说我的身体不工作。出了什么问题,我该如何解决?看看你是否得到诊断和治疗。您对该代码有什么具体问题?$filePath
中的值是多少?什么是$fileEtension
,它来自何处?可能重复的
Function ZipOnebyOne{
param(
[Parameter(Mandatory=$true)]
[string]
$filepath
)
$7z = 'C:\Program Files\7-Zip\7z.exe'
$extension = Get-ChildItem $filePath -File -Recurse
foreach ($file in $extension) {
$name = $file.name
$directory = $file.DirectoryName
$fileExtension = $file.Extension
$zipfile = $name.Replace($fileExtension, '.7z')
$null = & $7z -t7z a (Join-path $directory $zipfile) (Join-Path $directory $name)
}
}