Automation 使用文件名中的密码自动提取压缩文件

Automation 使用文件名中的密码自动提取压缩文件,automation,Automation,我分析发送多个ZIP文件的数据。 它们始终采用以下格式: service_SC30COM_####_20191130_1834.zip ####是计算机生成的随机数。 密码为SC30COM######,它始终是文件名的一部分 对批量解压缩的自动化有什么建议吗?您可以将以下代码作为bash脚本运行: #!/bin/bash for FILE in *.zip do echo "Unzipping $FILE ..." PASSWORD=$(echo $FILE | grep -

我分析发送多个ZIP文件的数据。
它们始终采用以下格式:

service_SC30COM_####_20191130_1834.zip
####是计算机生成的随机数。
密码为SC30COM######,它始终是文件名的一部分


对批量解压缩的自动化有什么建议吗?

您可以将以下代码作为bash脚本运行:

#!/bin/bash
for FILE in *.zip
do
    echo "Unzipping $FILE ..."
    PASSWORD=$(echo  $FILE | grep -o -P '(?<=service_)[A-Za-z0-9]*_[0-9]*(?=_)')
    unzip -P $PASSWORD $FILE
done
#/bin/bash
对于*.zip中的文件
做
echo“解压缩$FILE…”

PASSWORD=$(echo$FILE | grep-o-P'(?

在没有任何应用程序的情况下,无法在命令提示符下执行此操作。 你可以查一下

如果您删除了密码,您需要的代码(如microsoft文章中所述)应为:

$shell=new-object -com shell.application

$CurrentLocation=get-location

$CurrentPath=$CurrentLocation.path

$Location=$shell.namespace($CurrentPath)

$ZipFiles = get-childitem *.zip

$ZipFiles.count | out-default

foreach ($ZipFile in $ZipFiles)

{

$ZipFile.fullname | out-default

$ZipFolder = $shell.namespace($ZipFile.fullname)

$Location.Copyhere($ZipFolder.items())

}
如果安装任何可以在命令提示符下运行的应用程序,则可以使用密码提取。例如,对于单个文件,在Windows 10上获得的最大值为:

PowerShell扩展存档-路径“C:\Users\Tuffy\Desktop\PowerShell
展开存档路径“C:\Users\Whatever\Desktop\service_SC30COM_35;####u 20191130_1834.zip”
-DestinationPath“C:\Users\Whatever\Desktop“p”-DestinationPath“C:\Whatever\Tuffy\Desktop”


希望有帮助!

欢迎使用SO!操作系统、解压软件需要更多信息…我只是在使用windows 10-欢迎对如何实现此功能的建议嗨,谢谢你的回答。这可能是一个.BAT文件吗?我以前制作过一些简单的BAT文件,但从来没有编写过Bash脚本-这是linux吗?确保类似的东西吗uld可以在.BAT文件中实现。一个简单的解决方案是安装.sh文件并尝试一下。