Berikut ini adalah versi update dan advanced dari cara membuat file CBZ secara massal dan otomatis yang sebelumnya telah saya buatkan. Dengan cara ini, kita akan membuat sebuah file .ps1 (file Powershell) yang berisi perintah untuk membuat file CBZ dari folder komik/manga/manhwa, lalu mengubah (rename) file-nya sesuai keinginan, dan memindahkan serta mengumpulkan semua file CBZ tersebut ke folder root-nya sehingga tidak lagi perlu meng-copy paste satu-persatu. Dan semuanya ini dijalankan secara massal, otomatis dan cukup dengan 1 klik pada file .ps1.
Pertama, kita butuh lokasi folder root dimana sub-folder yang berisi file-file gambar manga berada. Misalnya, kita menyimpannya di "D:\EBOOK\Manga\Dragon Ball Z".
Buka aplikasi Notepad atau Notepad++, dan copy-paste code berikut:
# Mendapatkan nama folder tempat script berada
$folderRootName = Split-Path -Path $PSScriptRoot -Leaf
# Ambil semua sub-folder di dalam folder root
$subFolders = Get-ChildItem -Path $PSScriptRoot -Directory
# Sebutkan prefix nama sub-folder sebelum angka urut. Misal: nama sub folder
# adalah 'VOL 01 (EN)', 'VOL 02 (EN)', 'VOL 03 (EN)', dst maka prefix-nya
# adalah 'VOL '.
$preSubfolder = "VOL "
# Loop melalui setiap sub-folder
foreach ($folder in $subFolders) {
$folderName = $folder.Name
# Tentukan path untuk file ZIP
$zipFilePath = Join-Path $folder.FullName "$folderName.zip"
# Buat file ZIP dari isi sub-folder
Compress-Archive -Path "$folder\*" -DestinationPath $zipFilePath
Write-Host "Created ZIP: $zipFilePath"
# Pisahkan nomor volume dari nama folder
if ($folderName -match "$preSubfolder(\d+)") {
$volumeNumber = [int]$matches[1]
# Format nomor volume menjadi 3 digit (misalnya: 001, 002, dll.)
$formattedNumber = "{0:D3}" -f $volumeNumber
# Tentukan nama baru untuk file ZIP
$newFileName = "$folderRootName $formattedNumber.cbz"
# Tentukan path untuk file yang dipindahkan ke root folder
$newFilePath = Join-Path $PSScriptRoot $newFileName
# Pindahkan file ZIP ke folder root dan rename sebagai file CBZ
Move-Item -Path $zipFilePath -Destination $newFilePath
Write-Host "Renamed '$zipFilePath' to '$newFileName' and moved to root folder."
} else {
Write-Host "Folder name '$folderName' does not match expected pattern."
}
}
Write-Host "Process completed."
Alternatif sourcecode: https://gist.github.com/royandika/8eb074e302f0ac2383dfa219aa01bd2d
Simpan sebagai file .ps1, misalnya 'script.ps1'. Untuk menjalankannya, kita tinggal klik kanan file tersebut, lalu pilih 'Run with PowerShell' maka script akan otomatis dijalankan. Hasilnya kita mendapatkan file CBZ dari tiap folder di folder root.
No comments
Post a Comment