View Single Post
Old 27-11-2023, 14:20   #1
sabatino63
Junior Member
 
Iscritto dal: Nov 2023
Messaggi: 1
Creazione di un file .bat per spostare files e cartelle

Buongiorno a tutti. Sno nuovo del forum. Mi chiamo Sabato e digito dalla Provincia di Salerno. Avrei bisogno di un aiuto. Dovrei creare un file .bat o un file . cmd o qualcosa di simile che mi permetta di raggiungere il seguente obiettivo: Spostare da una cartella c:\dati\lav ad un'altra cartella m:\storico\lav.sto tutti i files il cui nome inizi con una stringa da introdurre di volta in volta da tastiera e spostare anche tutte le directoryes contenute nella cartella c:\dati\lav alla cartella m:\storico\lav.sto il cui nome inizi con la stessa stringa digitata dalla tastiera, comprese le relativ3e eventuali sottodirectoryes. Qualcuno potrebbe gentilmente darmi delle indicazioni? La mia scarsa scienza è arrivata fin qui:@echo off
echo chiusura pratiche.
Echo Per spostare i documenti di una pratica nell'archivio
set /P INPUT=Digita il numero della pratica
if "%input%"=="" (
goto nulla
)

echo sposto nell'archivio i files e le cartelle della pratica n.%input%
Echo se non si vede il numero della pratica premere control+c per interrompere la procedura, altrimenti
pause

rem spostamento dei files
robocopy o:\lav\ o:\lav.sto\ %input%*.* /mov
pause
Oltre questo non vado perchè per spostare le cartelle se uso un xcopy con il parametro /s non mi sposta solo le cartelle che cominciano con il nome introdotto nella variabile %input% ma anche tutte le sottocartelle. Se invece uso xcopy dovrei passare come parametro il nome di ciascuna cartella che ha il nome che inizia con la stringa in un ciclo "for" "do". Ho pensato che dando un comando "dir" seguito dalla stringa iniziale contenuta nella variabile %input% seguita da *.* /a:d /b > xxyy.txt potrei mandare l'elenco delle cartelle da copiare a questo file xxyy.txt e poi dovrei nel ciclo "for" "do" passare uno alla volta i parametri del file xxyy.txt ad un ciclo di iterazione che sposti una per una queste cartelle cancellandole dall'origine. Ma come si fa? Qual è la corretta istruzione per copiare e cancellare dall'origine le cartelle che non sono vuote? Ovviamente "rd" non funziona in questo caso. Non è che c'è un'alternativa più semplice per raggiungere il risultato? Vi ringrazio e, scusandomi per la lunghezza del messaggio, vi saluto.
sabatino63 è offline   Rispondi citando il messaggio o parte di esso