ดูแลไดเร็กทอรี bzip2ed บน Windows


0

ฉันมีโฟลเดอร์ที่นอกเหนือจากสิ่งอื่น ๆ มีโฟลเดอร์ที่ตั้งชื่อตามวันที่เช่น 20110908 20110909 เป็นต้น ทุกคืนฉันต้องการเรียกใช้เครื่องมือที่ตรวจสอบโฟลเดอร์ทั้งหมดที่ตรงกับ datemask (อาจเป็น 201 *) และ bzip2 ใด ๆ ของพวกเขาที่ยังไม่มีไฟล์เก็บถาวร bzip2 ที่มีชื่อคล้ายกัน และอย่างดีถ้าหลังจาก bzip2-ing เนื้อหาของโฟลเดอร์เปลี่ยนไปฉันต้องการ bzip2 อีกครั้ง

มีเครื่องมือที่ช่วยฉันได้ไหม

คำตอบ:


1

เวอร์ชั่นบรรทัดคำสั่งของ7-Zipสามารถช่วยคุณได้ที่นี่ คุณสามารถสร้างไฟล์แบตช์ที่คุณกำหนดเวลาโดยใช้ Task Scheduler คุณต้องการใช้สวิตช์ปรับปรุงของ 7-Zip "u" สคริปต์บางอย่างเช่นสิ่งต่อไปนี้อาจเป็นกลอุบาย:

for /f %%F IN ('dir /b 201*') (

    REM Extract
    7z e %F.tar.bz2 %F.tar

    REM Update archive
    7z u %F.tar -uq2r2y2z2w2 %F

    REM Compress
    7z a %F.tar.bz2 %F.tar

    REM Delete tar
    del %F.tar

)

หากคุณสามารถออกไปด้วยการใช้รูปแบบ zip หรือ 7z คุณสามารถข้ามขั้นตอน "แยกแล้วบีบอัดใหม่" และเพียงแค่เรียกใช้ขั้นตอนการอัปเดต


0

ฉันใช้กับงูหลามด้วยbzip2.exeสำหรับ Windows

#!/usr/bin/env python
import os
import subprocess

rootdir = "C:/XXX/"
for root, subFolders, files in os.walk(rootdir):
    for file in files:
    filename = os.path.join(root,file)
    if(os.path.splitext(filename)[1] != ".bz2"):
        print("Compressing "+filename+"...")
        process=subprocess.Popen('bzip2.exe %s'%(filename),shell=True)
        process.wait()
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.