Newsgroup: it.comp.os.dos
Titolo: Uso comando RENAME

Salve a tutti!!!
Leggo sulla guida in linea di Windows
Utilizzo dei caratteri jolly con il comando rename
L'utilizzo dei caratteri jolly * e ? è consentito in entrambi i parametri in 
cui è indicato il nome del file. Se i caratteri jolly vengono utilizzati nel 
parametro nomefile2, i caratteri che essi rappresentano saranno identici ai 
corrispondenti caratteri in nomefile1.
Peccato però che la controprova non riesca. In particolare ho un file
pippo.txt
lancio il comando
rename *o.txt *.txt
Mi aspetto di ritrovarmi il file pippo rinominato in pipp.txt e invece non 
cambia niente.
Sono io che non ho capito bene, oppure ho capito bene ma il comando rename 
non funziona come promesso?
Grazie
Cricca

 ha scritto nel messaggio 
news:dtmman$mh9$1...@newsreader.mailgate.org...

*o.txt : sta per qualsiasi file che termini per "o" con estensione "txt"
*.txt : sta per qualsiasi file con estensioen "txt"
quindi il file *o.txt viene rinominato con lo stesso nome ed estensione.
Pe rinominarlo in pipp.txt devi inserire i caratteri jolly "?":
ren *o.txt ????.txt
L 

 ren *o.txt ????.txt
Quindi se ho due file "pippo.txt" e "topolino.txt" e li voglio rinominare
rispettivamente in "pipp.txt" e "topolin.txt" non posso farlo con un unico
comando di rename, giusto?
Cricca

 ha scritto nel messaggio 
news:dtpf78$h11$2...@newsreader.mailgate.org...

Con il semplice comando non vedo soluzione, Forse impostando un bath 
inserendo delle condizioni al suo interno.
Però non saprei come suggerirti.
L 

 Perņ non saprei come suggerirti.
for %%I in (*.txt) do (
  set P=%%~nI
  ren %%I !P:~0,-1!%%~xI
)
Mettilo dentro un file batch, tipo "rinomina.bat" e poi richiamalo con
l'opzione /V :
cmd /C /V rinomina.bat
Ciao
---
http://www.mariottini.net/roberto/
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 cmd /C /V rinomina.bat
Scusa l'ignoranza.
Mi sto sbattendo su questo suggerimento, ma finora senza successo.
Per prima cosa vorrei capire la sintassi dei comandi che mi suggerisci di 
usare.
Con il comando "for" si esegue un loop su i file *.txt che si trovano nella 
directory corrente.
Quindi con "set P=%%~nI" mi verrebbe da dire che viene impostata la 
variabile P al nome del programma su cui si trova l'iterazione for, senza 
l'estensione.
Già qui però vado in crisi.
Ho provato a sostituire il comando "ren" che segue con un più semplice "echo 
P>%%~nI". Mi aspetto, alla fine del loop, di ritrovarmi due file omonimi dei 
file di testo, senza però estensione, e al loro interno il risultato del 
comando echo P. I due file li trovo ma dentro trovo scritto solo P.
Allora ho provato con "echo %P%>%%~nI", ma nei file trovo scritto "ECHO 
attivo."
Quindi ho provato con "echo !P!>%%~nI", ma nei file trovo scritto "!P!"
Mi chiedo: come faccio a vedere il contenuto della variabile P (sempre che 
di variabile si tratta)?
Una volta che avrò questa risposta, passerò poi a capire la sintassi del 
comando "ren", ma se non so cos'è P non riesco certo a capire cosa fa "ren 
%%I !P:~0,-1!%%~xI"
Grazie
Cricca 

Ho scoperto con mia enorme sorpresa che un programmino batch con i comandi
set P=Pippo
echo %P%>Pluto
genera, come atteso un file "Pluto" con denro scritto "Pippo"
mentre il programmino batch con i comandi
for %%I in (*.txt) do (
set P=Pippo
echo %P%>Pluto
)
genera un file "Pluto" con dentro scritto "ECHO attivo."
Qualcuno sa spiegarmi?
Grazie
Cricca 

Cricca ha scritto:


set /?
for /?
cmd /?
Studia bene il tutto e capirai.
Ciao


 Ciao
Fatto!!
Piccola correzione: il comando da utilizzare per lanciare il programmino 
batch è CMD /V:ON /C rinomina.bat
Il programma che ho utilizzato è
for %%I in (*.txt) do (
  set P=%%~nI
  set Q=!P:~0,-1!
  set E=%%~xI
  ren %%I !Q!!E!
)
Il loop "for %%I in (*.txt) do (" esegue un'iterazione sui file presenti 
nella cartella dove il programma viene lanciato, e l'iterazione tratta tutti 
i file che terminano con ".txt".
I comandi "SET" eseguono l'impostazione delle variabili P, Q, ed E.
La variabile P viene impostato con il nome del file senza estensione
La variabile E viene impostata con l'estensione del file
La variabile Q viene impostata con il contenuto della variabile P senza l'ultimo 
carattere. La sintassi P:~0,-1 indica che della variabile P viene estratta 
la sottostringa che parte dal primo carattere (posizione iniziale 0) fine al 
penultimo (posizione finale -1).
L'uso del simbolo ! prima e dopo l'estrazione della sottostringa significa 
che si intende eseguire l'espansione della parte racchiusa tra ! a run-time 
e con espansione ritardata abilitata.
Il comando "ren %%I !Q!!E!" esegue infine la ridenominazione del file 
corrente (individuato da %%I) nel nome composto dal contenuto di Q e dal 
contenuto di E (il contenuto di Q cambierà ad ogni iterazione per l'utilizzo 
del simbolo !).
Il comando CMD /V:ON /C rinomina.bat infine serve per lanciare il programma 
con espansione ritarda attivata.
Il manuale dei comandi "cmd", "for", "set" si trova disponibile nella 
documentazione corrente.
Spero di aver dato spiegazioni coerenti con la realtà dei fatti.
Se così non fosse correggetemi pure.
Grazie a tutti (sprattutto a Mariottini)
Cricca 

 Grazie a tutti (sprattutto a Mariottini)
Prego.
Ciao
---
http://www.mariottini.net/roberto/
