PDA

View Full Version : Trovare nome cartella da batch


|giacomo|
12-12-2007, 19:45
Ciao a tutti..vorrei creare un file batch che, mandato in esecuzione da una determinata cartella, possa fornirmi il nome delle sottocartelle (in realtà mi basterebbe anche solo il nome della prima).Spero di essere stato sufficientemente chiaro..Ringrazio chiunque abbia la cortezza di aiutarmi.

banryu79
13-12-2007, 09:59
Se sei ambiente Windows basta che editi un file testuale salvandolo con un nome qualsiasi purchè diverso da "tree" e con estensione uguale a ".bat".

Nel file scrivi:


tree
pause


lo piazzi/copi/salvi nella cartella che ti interessa e lo lanci: il ridultato lo vedi nella consolle.


Per ambiente Linux non saprei :rolleyes:

|giacomo|
13-12-2007, 18:14
Se sei ambiente Windows basta che editi un file testuale salvandolo con un nome qualsiasi purchè diverso da "tree" e con estensione uguale a ".bat".

Nel file scrivi:


tree
pause


lo piazzi/copi/salvi nella cartella che ti interessa e lo lanci: il ridultato lo vedi nella consolle.


Per ambiente Linux non saprei :rolleyes:

Oddio scusatemi ieri nella fretta ho dimenticato un pezzo!!!Io vorrei fare in modo che una volta che il programma sa il nome delle sottocartelle in automatico me le tagli e le incolli da un altra parte.

banryu79
14-12-2007, 09:09
Ah, allora non saprei, il comando "tree" l'ho scoperto ieri tramite l'help della consolle di Windows.

Comunque non dovrebbe essere una cosa difficile da fare, però devi conoscere la sintassi di scripting batch.

Se passa qualcuno e ti dice come bona, sennò leggi questa guida:
--> Breve guida al sistema operativo DOS (http://www.freeonline.org/guide/dos_dtml)

Ciao :)

john_revelator
14-12-2007, 11:36
Oddio scusatemi ieri nella fretta ho dimenticato un pezzo!!!Io vorrei fare in modo che una volta che il programma sa il nome delle sottocartelle in automatico me le tagli e le incolli da un altra parte.

Cerca il comando move. :)

banryu79
14-12-2007, 11:46
Sposta file e rinomina file e directory.

Per spostare uno o più file:
MOVE [/Y | /-Y] [unità:][percorso]nomefile1[,...] destinazione

Per rinominare una directory:
MOVE [/Y | /-Y] [unità:][percorso]nomedir1 nomedir2

[unità:][percorso]nomefile1 Specifica la posizione e il nome del o dei file
da spostare.
destinazione Specifica la nuova posizione del file. La destinazione
può essere una lettera di unità e due punti, un
nome di directory o una combinazione. Se si sposta
solo un file, è possibile includere un nome file se
si desidera rinominare il file mentre lo si sposta.
[unità:][percorso]nomedir1 Specifica la directory da rinominare.
nomedir2 Specifica il nuovo nome della directory.

/Y Elimina la richiesta della conferma per
sovrascrivere un file di destinazione esistente.
/-Y Richiesta della conferma per sovrascrivere
un file di destinazione esistente.

L'opzione /Y può essere presente nella variabile di ambiente COPYCMD,
ma può essere evitata con /-Y nella riga di comando. L'impostazione predefinita
è di chiedere conferma per le sovrascritture a meno che il comando MOVE non sia eseguito dall'interno di
uno script batch.

Questo è l'help che la consolle fornisce circa il comando MOVE.

Come ti ha suggerito john_revelator questo è il comando che fa per te, però non basta: devi anche scoprire il nome di tutte le sottocartelle della cartella corrente a cui applicare MOVE... e mettere tutto in uno o più .bat che ti facciano il lavoro.

Ciao :)

^TiGeRShArK^
14-12-2007, 12:24
FOR /D %%i IN (*.*) DO move /Y %%i c:\dovevuoi

così ad occhio dovrebbe andare ma non l'ho provato :p
EDIT: lo devi mettere in un .bat e poi lanciarlo, perchè se lo provi da riga di comando devi usare %i al posto di %%i :p

|giacomo|
14-12-2007, 19:17
FOR /D %%i IN (*.*) DO move /Y %%i c:\dovevuoi

così ad occhio dovrebbe andare ma non l'ho provato :p
EDIT: lo devi mettere in un .bat e poi lanciarlo, perchè se lo provi da riga di comando devi usare %i al posto di %%i :p

Peeeerffettissimo grazie mille!!!:vicini: