Newsgroup: it.comp.lang.visual-basic
Titolo: Rinominare file

Per rinominare un file, del quale conosco percorso e nome sto utilizzando 
questo codice ma mi da errore, dove sbaglio?
Dim NomeFileCopy As String
Dim fileNameCurrent As String
Dim ExeCmd As String
ExeCmd = "rename " & TempPath & "\" & fileNameCurrent & ".*.* " & 
NomeFileCopy & ".*.*"
Dim Scr As New WshShell
Scr.Run ExeCmd, vbMinimizedNoFocus, True      //qui mi da errore "Automation 
error"
Set src = Nothing 

 ha scritto nel messaggio
news:4346a5c5$0$29544$4faf...@reader1.news.tin.it...

Il motivo (credo) è che rename è un "comando interno", pertanto per poterlo
eseguire devi avviare l'interprete dei comandi.
Prova con Src.Run Environ("COMSPEC") &" /K " & ExeCmd
Bye
Raf


Scusa la mia ignoranza
ho riscritto cosě
Dim NomeFileCopy As String
Dim fileNameCurrent As String
Dim ExeCmd As String
ExeCmd = "rename " & TempPath & "\" & fileNameCurrent & ".*.* " &
NomeFileCopy & ".*.*"
Dim Scr As New WshShell
Src.Run Environ("COMSPEC") &" /K " & ExeCmd
Set src = Nothing
perň ora sempre sulla stessa riga mi da l'errore Object required

 Set src = Nothing
E fare un normale
Name fileNameCurrent AS NomeFileCopy
?
Eventualmente con un loop su Dir$ in 4 righe di codice te la cavi e funziona
pure ;)
Ciao
--
Reporting tool: 
http://www.neodatatype.net


effettivamente funziona cosě...perň io mi trovo a dover rinominare una 
cartella con tutti file uguali che differiscono solo nell'estensione, ma non 
so apriori quali formati avranno... premetto che l'estensione deve rimanere 
sempre la stessa
scrivendo in questo modo mi da errore, vuole che siano inserite anke le 
estensioni
Name fileNameCurrent & ".*.*" AS NomeFileCopy & ".*.*"
come potrei fare?

 come potrei fare?
Basterebbe leggere attentamente i post ;)


 però ora sempre sulla stessa riga mi da l'errore Object required
È chiaro: prima dichiari (ed istanzi) la variabile ESSE-CI-ERRE poi utilizzi
ESSE-ERRE-CI che non è definito da nessuna parte, non avendo (suppongo) Option
Explicit all'inizio del modulo, pertanto in compilazione VB lo accetta
ugualmente, definendolo implicitamente Variant, ma a runtime, non essendo un
oggetto WshShell, ecco l'errore...
Ciao
Raf

 ha scritto nel messaggio 
news:43477948$0$13359$4faf...@reader2.news.tin.it...

Purtroppo non sono padrone del linguaggio di programmazione, infatti la mia 
prima idea è stata quella di usare il comando da shell.... ma nonostante il 
comando funzioni, in VB non riesco a farlo eseguire correttamente 


Spero di non aver capito male. Ho riscritto questo codice e ho definito 
all'inizio del codice relativo al Form in questione Option Explicit:
Option Explicit
Dim NomeFileCopy As String
Dim fileNameCurrent As String
Dim ExeCmd As String
ExeCmd = "rename " & TempPath & "\" & fileNameCurrent & ".*.* " &
NomeFileCopy & ".*.*"
Dim Scr As New WshShell
Src.Run Environ("COMSPEC") &" /K " & ExeCmd
Set src = Nothing
Perň ora mi da questo errore "Variable not defined" riferito a src in Set 
src = Nothing

 src = Nothing
...come volevasi dimostrare. Questo messaggio, pur essendo in inglese, dovrebbe
farti capire che hai scritto "male" il nome di una variabile nel momento del suo
utilizzo, e che VB non la riconosce tra quelle dichiarate con Dim.
Sono banali errori di "ortografia"!!!
Ciao

pronto pronto...
hai dichiarato una variabile e poi usata un'altra ok..
SCR dichiarata    SRC usata
te l'hanno scritto in 10 ma non tu abbia capito


"diska" <disc...@IONONCISTOtiscali.it> ha scritto nel messaggio 
news:43478960$0$8495$5fc...@news.tiscali.it...

Avete perfettamente ragione...
Ho riscritto in questo modo, perň alla fine dell'operazione mi si apre solo 
la finestra di shell ma non esegue il comando
Option Explicit
Dim NomeFileCopy As String
Dim fileNameCurrent As String
Dim ExeCmd As String
ExeCmd = "rename " & TempPath & "\" & fileNameCurrent & ".*.* " &
NomeFileCopy & ".*.*"
Dim Scr As New WshShell
Scr .Run Environ("COMSPEC") &" /K " & ExeCmd
Set Scr = Nothing


mi correggo immediatamente...mi effettua perfettamente il comando, ma mi 
lascia aperta la shell.... 


Option Explicit mi conviene lasciarlo cmq? 

 Option Explicit mi conviene lasciarlo cmq?
È caldamente raccomandato, proprio per evitare quelle situazioni balorde. Anzi,
dovresti impostare "Require variable declaration" nelle opzioni dell'IDE di VB,
così quando crei nuovi moduli/form/classi ti si aggiunge in automatico.
Bye
Raf

 così quando crei nuovi moduli/form/classi ti si aggiunge in automatico.
L'ho impostato e l'ho inserito su tutti i moduli/form/classi già creati, ma 
su una form l'ho dovuta togliere xkè mi dava errore.
Ora per poter chiudere la shell che mi si apre dopo che ha eseguito il 
comando, che istruzione devo usare? 

 comando, che istruzione devo usare?
Evidentemente non mi so spiegare... ti avevo detto di scrivere /C al posto di
/K...
Invece di:
 Scr.Run Environ("COMSPEC") &" /K " & ExeCmd
Pensavo si capisse che avresti dovuto scrivere
 Scr.Run Environ("COMSPEC") &" /C " & ExeCmd
La stringa Environ("COMSPEC") &" /C " & ExeCmd è in pratica:
"C:\WINDOWS\system32\cmd.exe /C rename ..."
/C è uno *switch* (parametro) del programma CMD.EXE che gli indica di eseguire
un comando (rename, in questo caso) e terminare.
Invece con /K, la sessione rimane attiva dopo l'esecuzione del comando, e quindi
la finestra non si chiude.
Chiaro?
Ciao
Raf


Mille grazie per le info
Avrei un'altra domanda....di diverso genere... posso? 

 Avrei un'altra domanda....di diverso genere... posso?
Se la domanda non riguarda l'argomento di questo thread meglio se la poni in
uno nuovo, così anche altri possono intervenire...
CIao

 uno nuovo, cosě anche altri possono intervenire...
Si, č un altro argomaento.... piů ke altro lo chiedevo dal momento ke 
ammetto ke spesso le mie domande possono essere banali.... 

 problemi
Si vede che picButtons (una PictureBox, immagino) era originariamente
presente ma poi è stata eliminata dal form.
Ripeto, lascia Option Explicit e rimuovi la causa dell'errore.
Bye
Raf


Grazie per l'info
Ho aperto un altro post....non è ke potresti rispondermi anke a quello?
Grazie in anticipo 

 Ho aperto un altro post....non è ke potresti rispondermi anke a quello?
ma perche` le "k" vanno di pari passo con l'incapacita` congenita
di capire le cose?
non e` ammissibile leggere certi post in un newsgroup di programmazione,
quando con poche decine di eurI si puo` comperare un buon libro che
insegni almeno le nozioni base.
un libro ti segue dappertutto: a casa, in tram, in treno, al cesso...
mi scuso per la vis polemica, ma, se queste sono le persone che si 
affacciano sul mondo del lavoro, non c'e` da stupirsi se l'economia
italiana va come va.
-- 
ciao, hal

 questo codice ma mi da errore, dove sbaglio?
Usare filecopy? Anche con dir, eventualmente dovessi spostare più file.
-- 
Ciao,
	Fabrizio
===  
http://www.negusweb.it
  ===

 non c'e` da stupirsi se l'economia italiana va come va.
O forse "non va come non va"...
Bye, G.