Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2009, 11:18   #1
skeleton
Member
 
L'Avatar di skeleton
 
Iscritto dal: Jul 2009
Messaggi: 81
[batch]Copiare File In Cartella E Nelle Sue Sottocartelle

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 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"
...ma anche questo non funziona...

Grazie in anticipo....
...per favore se potete indicatemi gli sbagli che ho commesso se fosse possibile usare questi comandi...

Ho trovato tra i comandi dos il comando tree che crea la lsita di tutte le subdir a partire da quella in cui mi trovo, ma poi non so come proseguire...devo creare un file esterno che mi elenchi tutte le subdir per poi farlo leggere dal mio programma???
Non c'è modo di non creare file esterni, ma di rimanere sempre e solo nel mio programma, magari dandogli alcune variabili anzichè creare il file???

PS:è piuttosto urgente....

Ultima modifica di skeleton : 20-07-2009 alle 13:22. Motivo: forse con tree
skeleton è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 14:17   #2
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da skeleton Guarda i messaggi
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 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"
...ma anche questo non funziona...

Grazie in anticipo....
...per favore se potete indicatemi gli sbagli che ho commesso se fosse possibile usare questi comandi...

Ho trovato tra i comandi dos il comando tree che crea la lsita di tutte le subdir a partire da quella in cui mi trovo, ma poi non so come proseguire...devo creare un file esterno che mi elenchi tutte le subdir per poi farlo leggere dal mio programma???
Non c'è modo di non creare file esterni, ma di rimanere sempre e solo nel mio programma, magari dandogli alcune variabili anzichè creare il file???

PS:è piuttosto urgente....
Fammi capire se ho ben capito:
Tu hai un file in F: chiamato orario.xls e questo singolo file lo vuoi copiare in F:\dati e tutte le sue sottocartelle...

Aparte la singolarità di una tale operazione, è corretto quello che ho scritto?
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 14:24   #3
skeleton
Member
 
L'Avatar di skeleton
 
Iscritto dal: Jul 2009
Messaggi: 81
Correttissimo
Risponderesti al mio quesito, per favore???
Comunque devo effettuare tale operazione per conto di mio padre che lavora in una grande azienda...

Ultima modifica di skeleton : 20-07-2009 alle 14:45.
skeleton è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 15:18   #4
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da skeleton Guarda i messaggi
Correttissimo
Mamma mia che brutta la programmazione batch

Così dovrebbe andare:
Codice:
@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION

F:
cd \

for /r dati %%p in (.) do copy orario.xls "%%p"
Tutto sta nel for. Le prime 3 linee le ho messe per scrupolo, forse va anche senza, le successive due non sono necessarie se sei già posizionato in F:

Codice:
for /?
Leggitelo bene, è un pacco ma il for è essenziale per fare cose carine come questa in batch.



Ciao
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 18:04   #5
skeleton
Member
 
L'Avatar di skeleton
 
Iscritto dal: Jul 2009
Messaggi: 81
Scusa se ti rompo ancora, ma cosa significa "%%p" e "in (.)"
Grazie per l'immediata risposta...
skeleton è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 18:22   #6
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da skeleton Guarda i messaggi
Scusa se ti rompo ancora, ma cosa significa "%%p" e "in (.)"
Grazie per l'immediata risposta...
Beh %%p è una variabile. Normalmente le variabili hanno un solo %, ma se scrivi un programma batch in un file di testo allora lo devi sdoppiare.

Quindi, %p è la variabile del for, che assume un valore diverso per ogni ciclo di for. Il punto nelle parentesi (.) significa che ti stai riferendo alla cartella specificata prima di "%%p".

Dalla documentazione del for /r

Codice:
Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\federico>for /?
Esegue il comando specificato per ogni file di un gruppo di file.

Per usare FOR in un programma batch, utilizzare la sintassi %%variabile
anziché %variabile. Le variabili possono essere differenziate utilizzando
lettere maiuscole e minuscole. Esempio: %i è diversa
da %I.

Se le estensioni ai comandi sono attivate è possibile utilizzare le seguenti
opzioni per il comando FOR:

FOR /R [[unità:]percorso] %variabile IN (gruppo) DO comando [parametri-comando]

    Nella struttura della directory, a partire da [unità:]percorso, esegue
    l'istruzione FOR in ogni directory della struttura.  Se dopo /R non viene
    specificato alcun percorso la directory corrente è assunta come iniziale.
    Se per il parametro gruppo si usa solo un carattere punto (.)saranno
    elencate le directory nella struttura della directory specificata.
In rosso le parti interessanti.

Mi sono basato semplicemente su questo, facendo un paio di prove e verificando che funziona come dovrebbe.
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 18:27   #7
skeleton
Member
 
L'Avatar di skeleton
 
Iscritto dal: Jul 2009
Messaggi: 81
Grazie mille per la spiegazione, funziona perfettamente !!!

Ciao
skeleton è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 08:08   #8
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da skeleton Guarda i messaggi
Grazie mille per la spiegazione, funziona perfettamente !!!

Ciao
Figurati, è stata un'occasione anche per me per imparare qualcosa di utile!

Alla prossima
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2013, 14:44   #9
h4ckt4rus
Junior Member
 
Iscritto dal: May 2013
Messaggi: 1
Sono imbattuto in questo thread navigando tra la pagine di google alla ricerca disperata di una soluzione ad un mio problema (ahimè stupido ma non molto facile) ed in parte l'ho trovata seguendo questo ciclo di for

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


Ma se volessi copiare il file non in tutte le subdir ma in in alcune ben determinate come dovrei modificarlo??
mi spiego meglio, ho una root dir che rappresenta il mese poi x subdir che rappresentano i giorni del mese e ogni subdir giorni mese ha la sua cartella downloads. io vorrei copiare il file orario.xls nella subdir download di ciascun giorno mese. Nella speranza di essermi spiegato chiaramente ringrazio i quanti vorranno darmi delle indicazioni
h4ckt4rus è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
iPhone 18 Pro e Pro Max, svelata la capa...
Dreame L50 Ultra AE a 499€ (invece di 59...
Problemi di gioventù per i Pixel 11: Goo...
Le app di dating potrebbero aver stufato...
Il successo di iPhone Duo rappresentereb...
Cartello sull'IA? L'accusa durissima con...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v