Victor Law
Victor Law

Reputation: 1

Automatic extract zipped files with passwords in the file name

I analyse data from being sent multiple ZIP files.
They are always in this format:

service_SC30COM_####_20191130_1834.zip

#### is a random number generated by the computer.
Password is SC30COM_####, which is always part of the file name.

Any suggestions on an automation to unzip in bulk?

Upvotes: 0

Views: 722

Answers (2)

David García Bodego
David García Bodego

Reputation: 1090

There is no way to do it on the command prompt without any application. You can check this

If your remove the password, the code you need, as explain in that microsoft article should be:

$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())

}

If you install any application that can run on command prompt, you can extract with password. As example, for a individual file, the maximum you will get on Windows 10 is:

PowerShell Expand-Archive -Path "C:\Users\Tuffy\Desktop\PowerShell Expand-Archive -Path "C:\Users\Whatever\Desktop\service_SC30COM_####_20191130_1834.zip" -DestinationPath "C:\Users\Whatever\Desktop"p" -DestinationPath "C:\Whatever\Tuffy\Desktop"

Hope it helps!

Upvotes: 1

j03d03
j03d03

Reputation: 83

You can run the following code as a bash script:

#!/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
  1. Copy the code
  2. Paste it into FILENAME.sh
  3. Make it executable (chmod +x FILENAME.sh)
  4. Put it besides the zip files
  5. Run it (./FILENAME.sh)

Upvotes: 0

Related Questions