Pagina 1 di 1
					
				FILE.BAT
				Inviato: ven feb 07, 2025 12:35 pm
				da SALVO88
				buongiorno 
avrei la necessità di gestire dei file txt (circa 260) e spostarli da una cartella comune "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI"
ad una cartella Y:\locatelli in base al nome in questo caso locatelli  
l'abbinamento file txt alla sua cartella deve essere fatto in base al nome del txt che può essere diverso dal nome della cartella di destinazione ma uguale al txt dentro la cartella destinazione 
es
origine
"Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI\GL.txt"
destinazione
" Y:\locatelli\GL.txt" 
all'interno della cartella di destinazione ci sarà un file con lo stesso nome di quello in partenza e va sostituito  
 
			 
			
					
				Re: FILE.BAT
				Inviato: ven feb 07, 2025 1:12 pm
				da CUB3
				Ciao SALVO88, benvenuto su Turbolab!
Per spostare tutti i file.txt da un cartella  ad un altra, sovrascrivendo un eventuale file con lo stesso nome il seguente codice dovrebbe (non ho modo di provarlo al momento) funzionare:
Codice: Seleziona tutto
move /y "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI\*.txt" " "Y:\locatelli\"
Un consiglio: quando si intende lavorare con degli script, per semplificarci la vita, meglio utilizzare nomi di file e cartelle senza spazi o piuttosto con il carattere _ al posto dello spazio  
 
			 
			
					
				Re: FILE.BAT
				Inviato: ven feb 07, 2025 1:31 pm
				da SALVO88
				la destinazione del file txt però è sempre diversa es:
"Y:\locatelli\"
"Y:\abb\"
"Y:\siemens\"
etc...
in base al nome 
es il file abb.txt andrà nella cartella abb
il file sie.txt andrà nella cartella siemens
			 
			
					
				Re: FILE.BAT
				Inviato: ven feb 07, 2025 1:51 pm
				da crazy.cat
				Devi fare una riga per ogni cartella destinazione:
move /y "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI\abb.txt" " "Y:\abb\"
move /y "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI\sie.txt" " "Y:\siemens\"
move /y "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI\locatelli.txt" " "Y:\locatelli\"
Sei hai abb.txt abb1.txt abb2.txt puoi usare il carettere jolly abb*.txt
			 
			
					
				Re: FILE.BAT
				Inviato: ven feb 07, 2025 4:05 pm
				da Zigul
				Vediamo prima se ho ben capito lo scenario: c'è una cartella con un groppo di TXT e ciascuno di questi TXT deve andare a sostituire il suo omonimo presente in un percorso con sottocartelle; in pratica si trova l'omonimo, ovunque esso sia, e lo si sovrascrive con quello presente nella cartella generica di partenza. Giusto?
Uno script PowerShell per ottenere questo risultato (sempre bene provarlo su una copia dei file, salvaguardando gli originali) è:
Codice: Seleziona tutto
$source = "Y:\0) DATA BASE LISTINI\1 AGGIORNAMENTI SCARICATI"
$dest = "Y:\locatelli\"
foreach ($file in (Get-ChildItem "$($source)")) {
    $match = Get-ChildItem -Recurse "$($dest)" | Where-Object { $_.Name -eq $file.Name }
    if ($match) {
        if (Test-Path $match.FullName) {
            Remove-Item $match.FullName -Force
        }
        Move-Item -Path $file.FullName -Destination $match.DirectoryName
    }
}
Chiaramente si consiglia di modificare i percorsi con quelli dei file di prova, tenendo presente che i file nella cartella di destinazione saranno cancellati definitivamente prima di essere rimpiazzati (non andranno nel cestino, per intenderci).