Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    23

    Procedura Batch - Come controllare se il file già c'è ?? (Rompicapo)

    Ciao a tutti

    sono un bel pò di giorni che cerco di risolvere un problema su un file .bat senza
    riuscirci. Debbo anche dire però che non sono un mago nella programmazione.

    Spero proprio che tra voi pluriesperti ci sia qualcuno che possa aiutarmi.
    (ora vi metto alla prova con questo che per me è un rompicapo)

    ==== ecco la SITUAZIONE:

    **** Ho una cartella in c:\ di nome "CartellAppoggio", dentro la quale un altro script copia una altra CARTELLA con tutti i suoi file, che chiameremo "Pippo" ( ==>> c:\Cartellappoggio\Pippo )

    **** La CARTELLA Pippo Viene poi copiata dentro una cartella in C:\ achivio che si chiama "Archivio" e contiene altre mille cartelle similari, ognuna con il suo nome.

    **** Una volta copiata in C:\Archivio, la cartella c:\CartellAppoggio\Pippo viene cancellata per fare posto alla cartella successiva, di un altro nominativo, ad esempio "Pluto"
    ( ==>> c:\CartellAppoggio\Pluto ) e così via.

    **** CartellAppoggio quindi contiene sempre solo UN FILE ma con nome diverso.



    ==== ecco il PROBLEMA:
    Come faccio a dire alla procedura batch che si occupa di copiare il file in
    C:\CartellAppoggio di non farlo se il nome della cartella è già presente
    nella cartella archivio ??

    ==== ecco alcune mie Considerazioni:
    Sarebbe semplicissimo risolvere con

    if EXIST CartellAppoggio[nome file] c:\Archivio\ ........

    Ma non è così pechè purtoppo in nome del file CAMBIA SEMPRE e non sono riuscito
    con nessun comando utilizzando ad esempio *.* del tipo:
    if EXIST CartellAppoggio\*.* c:\Archivio\ ........
    perchè non viene accettato a meno che non abbia sbagliato sintassi-

    Ho anche provato ad assegnare il nome della cartella ad una variabile
    (%NomeCartella%) ma la variabile mi assume come valore la stringa nuda e cruda:
    Set Nomecartella=CartellAppoggio\*.*
    il valore della variabile diventa "CartellAppoggio\*.*" e non il nome "Pippo"

    ==== Ecco cosa sto cercando di fare:
    >>> Questo è quanto riguarda il mio problema in batch, e con il quale sto
    >>> cercando di realizzare un programmino che quando inserisco dei CD,
    >>> ognuno contenente la sua cartella di nome Pippo o Pluto o Minni
    >>> mi vada a verificare se già è presente nella cartella C:\Archivio.
    >>> Se è NON è presente deve copiarlo
    >>> Se invece c'è, deve saltare la copiatura e dare un messaggio del tipo:
    >>> "Cartella già presente in archivio"

    Spero di essere stato sufficentemente chiaro.

    Chi può aiutarmi ????

    Grazie da subito a tutti !!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    23

    Batch: verificare se un file del cd è già in C:\dir...



    Salve a tutti

    Riformulo la domanda già fatta in modo poco chiaro:

    Ho alcuni dischi CD dello stesso genere e con una CARTELLA che lo stesso nome del proprietario del file.

    Sul computer ho un indirizzo ( C:\Archivio\ ) nel quale va copiata la cartella solo se non c'è già (non va sovrascritta)
    Inoltre non posso interrompere la procedura con la funzione di attesa del copy "... Sovrascrivere [s] [n]


    DOMANDA: Come posso dire al batch di verificare se la cartella "Pippo" o Minni"
    (il nome è sempre differente) che si trova sul CD è già presente in C:\Archivio\ ??



    Sto provando da diverso tempo ma non riseco a venirne fuori (if exist ..... if EQU ... if NEQ... )

    Spero proprio che ualcuno sappia darmi qualche indicazione.

    Grazie a tutti !!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non ho capito un granchè, vuoi fare in sintesi una sorta di "backup"?
    In questo caso puoi usare direttamente robocopy o xxcopy (quest'ultimo se vuoi "divertirti"), senza fare alcun batch

  4. #4
    Prova a fare
    codice:
    mkdir percorso
    e poi controlla la variabile d'ambiente %ERRORLEVEL%
    Se è 0 vuol dire che la cartella non esiste, e l'ha creata: in questo caso, cancellala o gestisci tu nel modo migliore.

    Altrimenti %ERRORLEVEL% è 1, e la cartella esiste gia.
    lolide
    Java Programmer

    Informati

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.