파일에서 zip 비밀번호를 테스트하는 Powershell 스크립트


0

powershell 스크립트가 있습니다.

$passwords = Get-Content list.txt
$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = ".\dane_7up.zip"
foreach ($password in $passwords)
{
    Write-Host $password
    $command = '"$7ZipPath t $zipFile -p $password"'
    iex $command
    if (-Not $?)
    {
        [console]::beep(500,300)
        return
    }
}
pause

list.txt 파일의 비밀번호 중 하나가 zip 파일과 일치하는지 확인하고 싶습니다. 그러나 현재 스크립트는 7-Zip 호출로 라인을 인쇄하고 실행하지 않습니다. 작동하도록 스크립트에서 무엇을 변경해야합니까?

또한 공간이있는 비밀번호가있을 때 ""로 비밀번호를 이스케이프 할 수 있습니까?


$7ZipPath및 에서 큰 따옴표 주위의 이스케이프를 제거하십시오 $command.
root

표현식 또는 명령문에 예기치 않은 토큰 't'가 있습니다.
pbies

문자 t $command는 깃발이어야합니까? -앞에 있어야합니까 ?
root

없는 플래그가 아닌 명령 -입니다.
pbies

그럼에도 불구하고 Powershell에서 이제 실행을 시도 할 수 있으므로 원래 문제가 해결 된 것으로 보입니다 $command. 7zip 인수가 아닌 경우 "t"가 무엇인지 이해하지 못합니다 (오류가 발생하면 Powershell도 마찬가지입니다).
root

답변:


1
$passwords = Get-Content "C:\path\passwords.txt"
$7ZipPath = "C:\Program Files\7-Zip\7z.exe"
$zipFile = "C:\path\file.zip"
foreach ($password in $passwords)
{
    Write-Host $password
    & $7ZipPath "t" $zipFile "-p$password"
    if (-Not $?)
    {
        Write-Host $password "is not the password."
    } else {
        Write-Host $password "is the password."
    }
}
pause
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.