为高效工作,运用powershell winrar 、unrar等 批量压缩、解压缩rar文件

2023-05-16

首先在电脑上找到winrar,或者unrar所在地,我的win7 x64下 :

winrar 在 'C:\Program Files (x86)\WinRAR\WinRAR.exe'

unrar 在 'c:/Program Files (x86)/winrar/unrar.exe'  

zip.ps1


1 cls;
2 $P = 'C:\Users\Patrick\Desktop\war\'
3 $winrar = 'C:\Program Files (x86)\WinRAR\WinRAR.exe'
4 Get-ChildItem -Path $p -Directory|%{
5     &$winrar a "$($_).rar" $_ -y -ibck
6     Start-Sleep -Milliseconds 200
7 }  

unzip.ps1


1 cls;
2 $P = 'C:\Users\Patrick\Desktop\war\archive\'
3 $winrar = 'C:\Program Files (x86)\WinRAR\WinRAR.exe'
4 Get-ChildItem -Path "$($p)*.rar" -File|%{
5     &$winrar x "$_" "$P" -y -ibck
6     #Start-Sleep -Milliseconds 3000
7 }  

unrar.ps1


1 cls;
2 $P = 'C:\Users\Patrick\Desktop\war\'
3 $unrar = 'c:/Program Files (x86)/winrar/unrar.exe'
4 cd $p
5 $rarfiles = @()
6 ls "$P*.rar"|%{ 
7     &$unrar x $_.FullName $_.name.Substring(0,$_.name.IndexOf('.')) –y 
8 }   

例子:我的目录下有以下文件:


 1 PS E:\AddOn\005batch script\DB5\1010\TSQL> ls
 2 
 3 
 4     目录: E:\AddOn\005batch script\DB5\1010\TSQL
 5 
 6 
 7 Mode                LastWriteTime     Length Name
 8 ----                -------------     ------ ----
 9 d----        2014/10/10     13:02            Archive
10 -a---        2014/10/10     13:01        415 DUMMPREPVALIDATION.bat
11 -a---        2014/10/10     13:02        524 DUMMPREPVALIDATION.ps1
12 -a---         2014/10/7     16:10       2180 DUMMPREPVALIDATION.SQL
13 -a---        2014/10/10     13:01        375 DUMMYREP.bat
14 -a---        2014/10/10     13:02        484 DUMMYREP.ps1
15 -a---         2014/10/7     16:09       1124 DUMMYREP.SQL
16 
17 
18 PS E:\AddOn\005batch script\DB5\1010\TSQL>  

运行,把6个文件,按文件名为包名,打包到Archive目录下,打包成DUMMYREP.rar和DUMMPREPVALIDATION.rar,每个包中分别包含xxx.bat,xxx.ps1,xxx.sql三个文件:


 1  
 2 cls
 3 $pa = 'E:\AddOn\005batch script\DB5\1010\TSQL\'
 4 $winrar = 'C:\Program Files (x86)\WinRAR\WinRAR.exe'
 5 cd $pa
 6 ls "$($pa)*.sql"|%{
 7     $f = $_.name.Substring(0,$_.name.IndexOf('.'))
 8     ls "$($f).*"|%{
 9         #&$winrar a "$($pa)$($f).rar" $_ -y -ibck
10         &$winrar a "$($pa)Archive\$($f).rar" $_.Name -y -ibck
11     }
12 }  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为高效工作,运用powershell winrar 、unrar等 批量压缩、解压缩rar文件 的相关文章

  • PowerShell:检索AppPool中的应用程序数量

    如何通过 PowerShell 命令检索与特定 IIS AppPool 关联的应用程序数量 我们可以使用以下命令手动查看关联的应用程序 Get Item IIS AppPools AppPoolName 但是 如果我们想要手动选择Appli
  • Powershell,如何添加共享文件夹的权限

    我有以下创建共享文件夹的代码 if Test Path c myFolder New Item Path c myFolder ItemType Directory If GET WMIOBJECT Win32 Share Filter N
  • 当存在另一个参数时在 PowerShell 中需要参数

    到目前为止我读到的所有内容都告诉我这应该有效 这是一个用于自动从 AD 帐户转出的脚本 我希望它的工作方式是 如果设置了 TransferHomeDrive 开关 那么它将需要旧服务器和新服务器的名称 我相信我应该能够通过参数集来做到这一点
  • Powershell从字符串中获取数字

    大家好 我正在尝试使用 powershell 从用户 ID 中获取号码 我们使用的格式是名字的第一个字母 姓氏的前四个字母和学生 ID 因此名为 John Smith ID 123456 的学生将是 jsmit123456 如果用户的名字少
  • 即使子表达式是平衡的,Powershell 也会报告 MissingEndParenthesisInExpression

    这是我的子表达式 l split 1 split 0 我检查了一下 没有发现不成对的括号 然而 powershell 坚持说 表达式中缺少结束 有趣的是 表达式 l split 1 split 0 工作正常 以前有人有过类似的经历吗 是Po
  • 如何在 Visual Studio 中调试 Windows PowerShell 模块?

    我正在尝试使用 Visual Studio 2015 将 PowerShell 模块编写为 VB NET 项目 我已经能够将一些命令放在一起 将类库编译到 DLL 中 将模块导入到 PowerShell 会话中并调用我创建的命令 到目前为止
  • powershell 和 cmd 之间的文件大小不同[重复]

    这个问题在这里已经有答案了 我正在使用一点processconf js工具来构建configuration json来自多个文件 json files 这是我正在使用的命令 node processconf js file1 json fi
  • 为所有用户持久安装 PowerShell 模块

    我正在通过以下方式安装 PowerShell 模块八达通部署 http octopusdeploy com 到许多不同的服务器上 出于测试目的 我按照 Microsoft 文档的指导进行了安装PowerShell模块 https learn
  • Windows 中的 Git Shell:补丁的默认字符编码是 UCS-2 Little Endian - 如何将其更改为 ANSI 或 UTF-8 without BOM?

    当创建一个Windows 中使用 Git Shell 进行差异补丁 当使用适用于 Windows 的 GitHub http windows github com the 字符编码补丁的UCS 2 小尾数法根据Notepad 参见下面的屏幕
  • 在c#中搜索支持rar格式的压缩库

    我想在我的应用程序中添加功能来解压缩 并可选择压缩 各种格式的文件 我有支持 zip gzip 7zip 和 bzip2 的库 但还是没有找到支持rar的库 我知道 rar 是商业的 但也许有一些 net 库可用于解压缩 rar s 最好是
  • 如何在 PowerShell 中键入 TAB 字符?

    Task 默认情况下 在 Windows 命令提示符中按 TAB 键将输出文件名 而在 PowerShell 中则不会执行任何操作 我希望能够在交互模式下键入 TAB 字符 而不是通过脚本 Research 我在这个网站上和通过谷歌搜索发现
  • 如何通过 *.csproject 文件查找参考路径

    我想制作一个自动化的 powershell 脚本 报告项目的引用和引用路径 当 csproj 中的提示路径未填写时 我找不到获取引用路径的方法 这是一个快速解决方案 它抓住了每一个 csproj当前目录下的文件 并检查每个引用 对于从 GA
  • “Connect-MsolService”未被识别为 cmdlet 的名称

    PSCommand commandToRun new PSCommand commandToRun AddCommand Connect MsolService commandToRun AddParameter Credential ne
  • 如何通过在原始文件名前添加序列号来重命名文件?

    伙计们 有谁知道我该怎么做 我试图通过在文件名的开头添加 1 2 3 等按数字顺序列出一些文件 同时保留文件的原始名称 这是我尝试过的代码 nr 1 Dir path C x y deneme Rename Item NewName 0 N
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • 通过powershell脚本在WSL中运行bash脚本

    我正在尝试运行一个启动 WSL ubuntu1804 终端的脚本 然后在该终端中运行 bash 脚本 ubuntu1804 exe cd test directory node server js 然而 在第一个命令之后 终端打开 其他两个
  • 检测 PowerShell 开关

    我正在用 C 开发 PowerShell cmdlet 并且有 true false switch 语句 我注意到 如果我希望 bool 为 true 我需要指定 SwitchName true 否则我会得到 Missing an argu
  • 引用同一 PSCustomObject 的另一个属性

    我有一个PSCustomObject已声明并且它有多个成员 其中一些需要互相参考 例如 data PSCustomObject a x b y c z d a b c 我所期望的是 data d回来 x y z 我尝试通过以下方式引用其他属
  • 在 PowerShell 中从文件名中删除路径和扩展名

    我有一系列字符串 它们是文件的完整路径 我想只保存文件名 不保存文件扩展名和主路径 所以由此可知 c temp myfile txt to myfile 我实际上并没有遍历目录 在这种情况下类似于 PowerShell 的目录basenam
  • Powershell:输出文件

    我正在尝试将所有控制台输出记录到文件中 移动项目 D scripts fileA D scripts fileB verbose Force 输出文件 D scripts move log 追加 如果该文件不存在 则正在创建该文件 但详细信

随机推荐