Vai al contenuto
PLC Forum


[bat]copiare File In Cartella E Sue Sottocartelle - "Linguaggio" MS-Dos //\\Uso Windows XP


skeleton

Messaggi consigliati

Salve a tutti, sono nuovo del forum.

vorrei chiedere come da titolo come si può copiare un file in una directory e in tutte le sue sotto directory, usando il linguaggio MS-Dos.

es.

echo Ho il file in "F:\"

echo Lo voglio copiare in "F:\dati"

echo ma "F:\dati" contiene altre cartelle, molte e non ho voglia di scrivere tutti i percorsi per copiare il file in tutte le sue sottodirectory oltre che nella cartella "dati"

Chiedo aiuto worthy.gif al più presto...

Ho già provato con copy:

copy "F:\orario.xls" "F:\dati\*"

....ma non funziona...

con xcopy:

xcopy /y /s "F:\orario.xls" "F:\dati"

Grazie in anticipo....

...per favore se potete indicatemi gli sbagli che ho commesso...

____________________________________________________________________

regolamento

In firma e' solo consentito inserire NOME COGNOME USERNAME SALUTI

ed email <username>[at]plcforum.info con carattere di dimensione massima =5

Modificato: da Livio Migliaresi
Link al commento
Condividi su altri siti


cerca dos batch commands

io ho vaghi ricordi c'è il comando for che forse ti può aiutare ad eseguire un batch su tutte le subdir

ho trovato il comando Tree che ti crea la lsita di tutte le seubdir a partire da quella in cui ti trovi

potresti fare

>tree > dirlist

per creare un file testo con la lista delle directory

poi ocn un batch scorri la lista e ti crei i path da dare al comando copy

il source sarà sempre l'origine dove hai il file ladestinazione cambia in funzione della lista

Modificato: da accacca
Link al commento
Condividi su altri siti

Gazie per il contributo...

Potresti fare un esempio pratico nel mio caso, per favore, in quanto non ho mai usato senzasperanza.gif i comandi di cui mi hai parlato???

Ma non c'è proprio modo di evitare di creare altri file???

Non si potrebbe dargli una variabile come si fa con il vbs???

Modificato: da skeleton
Link al commento
Condividi su altri siti

Passare i paramentri in un batch file (*.bat) è possibile usando il comando % nel file bat e scrivendo il parametro nella riga di comando.

Questi son ricordi di quando specificavo gli indirizzi dei files per compilare, linkare e allocare, circa 20 qnni fa.

Fare in automatico quello che hai scritto credo non sia possibile, dovrei andare a ripesscare i vecchi manuali DOS, ma così a memoria credo proprio di no.

Link al commento
Condividi su altri siti

I comandi di copia, per qualunque sistema operativo, consentono di specificare una sola destinazione.

Quello che tu chiedi dovrebbe far parte del bagaglio di conoscenze di un qualunque sistemista, ed in realtà sono operazioni sempre attuali, non da preistoria informatica... almeno laddove tu voglia automatizzare le operazioni sui server, ad esempio con l'elaborazione di batch notturni.

Hai due possibilità, entrambe non banalissime:

- Creare un script parametrizzato che per qualunque directory/sottodirectory (passata come parametro) faccia ciò che gli chiedi; semplice con unix/linux, un casino boia ma fattibile con windows

- Seguire il suggerimento di accacca che va benissimo per operazioni estemporanee, ovvero:

crearti la lista delle directory di destinazione con un comando del tipo:

dir /AD /B >> copia.bat

modificare con un editor evoluto (textpad, ad esempio) il file copia.bat completando le righe con il comando di copia, ad esempio:

xcopy pippo.exe c:\temp\aaa

xcopy pippo.exe c:\temp\bbb

....

...

lanciare infine il file copia.bat

Modificato: da doctordf
Link al commento
Condividi su altri siti

Grazie per tutte le risposte, ma rivedendo un po'il comando for ce l'ho fatta: ecco nel dettaglio

for /r "F:\dati" %%p in (.) do copy "F:\orario.xls" "%%p"

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...