Visualizzazione dei risultati da 1 a 4 su 4

Discussione: comprimere file

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    comprimere file

    ho questa istruzione per comprimere dei file in un file .bat

    codice HTML:
    7zg.exe a -tzip -r destinazione  origine
    il problema è che se l'origine si trova su una sottocartella di c: esempio c:\dtabase\.....
    funziona.
    se invece devo comprimere una cartella che si trova direttamente su c:
    prima della compressione fa una scansione di tutto c:----
    perchè

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non conosco (nel senso che non ce l'ho e non l'ho mai usato) 7zip, ma una velocissima controllatina al manuale on-line ti avrebbe dato la risposta:

    il comando "a" aggiunge tutti i file a partire dalla directory di origine.

    Tu, però, ha imposto la ricorsione su tutte le subdirectory: hai usato lo switch "-r" (quindi glielo stai dicendo tu di comportarsi in quel modo).

    Link alla pagina del manuale dello switch "r": https://sevenzip.osdn.jp/chm/cmdline...es/recurse.htm


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    ora provo.
    io ho provato ad adottare questa soluzione perché su questo script che sotto mi da dei problemi in quanto quando zippa le cartelle, ogni tanto mi da errore:
    - LA CARTELLA COMPRESSA NON E' VALIDA O E' DANNEGGIATA
    Option Explicit
    Const FOF_CREATEPROGRESSDLG = &H0&
    Dim sSourceFolder
    Dim sArchiveFile
    Dim oShell
    Dim oZIP
    Dim oSourceFolder
    'Settaggio Variabili
    sSourceFolder = "C:\database\sorgente\"

    sArchiveFile = "C:\destinazione-"&Year(date())&Month(date())&Day(date())&".ZIP "
    Dim oFSO
    Dim oFile
    Dim iFiles
    Dim Fldr
    Set oFSO = CreateObject( "Scripting.FileSystemObject" )
    Set oFile = oFSO.OpenTextFile( sArchiveFile , 2, True )
    oFile.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) )
    oFile.Close
    Set oFile = Nothing
    Set oFSO = Nothing
    iFiles = 0
    With CreateObject("Shell.Application")
    'Copy the files to the compressed folder


    .NameSpace(sArchiveFile).CopyHere .NameSpace( sSourceFolder ).Items, FOF_CREATEPROGRESSDLG
    iFiles = iFiles + .NameSpace( sSourceFolder ).Items.Count
    'Keep script waiting until Compressing is done
    On Error Resume Next
    Do Until .NameSpace( sArchiveFile ).Items.Count = iFiles
    wScript.Sleep 1000
    Loop
    On Error GoTo 0

    End With

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Questo è Visual Basic o VBScript... sarebbe il caso di specificarlo, così da informare gli utenti.
    Sposto nella sezione dedicata a VB.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.