View Full Version : Metodo per Spostare File senza Avviso
Buongiorno,
essendo stufo marcio dell'avviso che compare in Windows 10 ogni volta che sposto dei file che hanno lo stesso nome (e quindi chiede di sovrascriverlo, o duplicarlo con il numero progressivo nelle parentesi tonde), chiedo a voi: c'è un metodo per far si che i file si numerano sequenzialmente senza sostituirsi e senza far comparire ogni volta l'avviso ? Grazie.
Nicodemo Timoteo Taddeo
30-08-2024, 19:34
Buongiorno,
essendo stufo marcio dell'avviso che compare in Windows 10 ogni volta che sposto dei file che hanno lo stesso nome (e quindi chiede di sovrascriverlo, o duplicarlo con il numero progressivo nelle parentesi tonde), chiedo a voi: c'è un metodo per far si che i file si numerano sequenzialmente senza sostituirsi e senza far comparire ogni volta l'avviso ? Grazie.
Dubito ci sia un modo con esplora file che è molto limitato come file manager, giusto per semplici operazioni. Io quando devo fare operazioni impegnative e massive su file e directory uso file manager alternativi che possono offrire nelle loro impostazioni questa possibilità Ad esempio in MultiCommander che è quello che uso di più negli ultimi anni c'è questa:
https://images2.imgbox.com/4d/5e/JK67YTa5_o.jpg
Sinceramente non so se funziona e come dato che solitamente non l'adopero ma se vuoi puoi vedere se fa per te. Il programma è gratuito ed offre anche una versione portatile, così si evita l'installazione obbligatoria:
https://multicommander.com/
Se non ricordo male è possibile anche con Teracopy se per caso già lo usi, non ci metto al mano sul fuoco perché sono anni che non ho avuto modo di utilizzarlo.
Alex_Trask
19-09-2024, 19:23
La butto lì, mai pensato di usare file batch?
Credo che in qualche modo si possano definire anche le regole di copia, anche se non mi è mai stato necessario.
Buongiorno,
essendo stufo marcio dell'avviso che compare in Windows 10 ogni volta che sposto dei file che hanno lo stesso nome (e quindi chiede di sovrascriverlo, o duplicarlo con il numero progressivo nelle parentesi tonde), chiedo a voi: c'è un metodo per far si che i file si numerano sequenzialmente senza sostituirsi e senza far comparire ogni volta l'avviso ? Grazie.
Prova questa soluzione, copia e incolla, con un editor di testo il codice e salvalo con estensione .Ps1.
apre una finestra di selezione file (anche multipli), apre una finestra di selezione destinazione, conserva la numerazione anche in sessioni diverse
# Importa il modulo necessario per la finestra di dialogo
Add-Type -AssemblyName System.Windows.Forms
# Funzione per selezionare i file sorgente
function Select-SourceFiles {
$openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$openFileDialog.Title = "Seleziona i file da copiare"
$openFileDialog.Filter = "Tutti i file (*.*)|*.*"
$openFileDialog.Multiselect = $true
if ($openFileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
return $openFileDialog.FileNames
}
return $null
}
# Funzione per selezionare o creare la cartella di destinazione
function Select-DestinationFolder {
do {
$folderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$folderBrowser.Description = "Seleziona o crea la cartella di destinazione"
$folderBrowser.ShowNewFolderButton = $true
if ($folderBrowser.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
return $folderBrowser.SelectedPath
}
# Chiedi all'utente se vuole creare una nuova cartella
$createNewFolder = [System.Windows.Forms.MessageBox]::Show("Vuoi creare una nuova cartella?", "Nuova Cartella", [System.Windows.Forms.MessageBoxButtons]::YesNo)
if ($createNewFolder -eq [System.Windows.Forms.DialogResult]::Yes) {
# Chiede il nome della nuova cartella
$newFolderName = [System.Windows.Forms.Interaction]::InputBox("Inserisci il nome della nuova cartella:", "Nome Nuova Cartella", "NuovaCartella")
if (-not [string]::IsNullOrWhiteSpace($newFolderName)) {
# Crea la nuova cartella nella posizione corrente del browser
$newFolderPath = Join-Path -Path $folderBrowser.SelectedPath -ChildPath $newFolderName
New-Item -ItemType Directory -Path $newFolderPath -Force | Out-Null
return $newFolderPath
}
}
} while ($true)
}
# Funzione principale per copiare i file
function Copy-FilesWithProgression {
$sourceFiles = Select-SourceFiles
if (-not $sourceFiles) { return }
$destinationPath = Select-DestinationFolder
if (-not $destinationPath) { return }
# Recupera il numero massimo esistente per i file già copiati nella destinazione
$existingFiles = Get-ChildItem -Path $destinationPath | Where-Object { $_.Name -match "\d+\.\w+$" }
$maxNumber = 0
foreach ($file in $existingFiles) {
if ($file.Name -match "(\d+)(\.\w+)$") {
$number = [int]$matches[1]
if ($number -gt $maxNumber) {
$maxNumber = $number
}
}
}
# Incrementa il numero per il prossimo file da copiare
$nextNumber = $maxNumber + 1
# Copia i file dalla sorgente alla destinazione con il numero progressivo
foreach ($file in $sourceFiles) {
# Estrae il nome e l'estensione del file originale
$originalFileName = [System.IO.Path]::GetFileNameWithoutExtension($file)
$extension = [System.IO.Path]::GetExtension($file)
# Crea il nuovo nome del file con il numero progressivo
$newFileName = "{0}_{1}{2}" -f $originalFileName, $nextNumber, $extension
# Copia il file nella destinazione con il nuovo nome
Copy-Item -Path $file -Destination (Join-Path -Path $destinationPath -ChildPath $newFileName)
# Incrementa il numero per il prossimo file da copiare
$nextNumber++
}
}
# Esegui la funzione di copia dei file
Copy-FilesWithProgression
apre una finestra di selezione file (anche multipli), apre una finestra di selezione destinazione, conserva la numerazione anche in sessioni diverse
Grazie per lo script, è un modello interessante da poter usare anche per altre eventuali necessità.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.