|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Messaggi: n/a
|
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. |
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 20627
|
Quote:
![]() 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. |
|
|
|
|
|
|
#3 |
|
Messaggi: n/a
|
Grazie mille.
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2009
Messaggi: 1176
|
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.
__________________
Trattato positivamente con: - aurunmilla - Sirus & Kanopus - FRN2003 - schumyFast - 4per4 - Ozio - iceone - murù - The March - felix777 - iao - Stedd e tanti altri... |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: Vicino a un ponte
Messaggi: 1293
|
Quote:
apre una finestra di selezione file (anche multipli), apre una finestra di selezione destinazione, conserva la numerazione anche in sessioni diverse Codice:
# 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
__________________
ASUS PRIME Z490-P | Intel® i7 10700K | Asus GeForce GTX 4060 OC | CORSAIR Vengeance LPX DDR4 3000 -32Gb- | Samsung 970 PRO M.2 512 Gb | Samsung SSD 840 PRO 256 Gb | 2x Samsung 970 EVO PLUS M.2 1 Tb |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Feb 2024
Messaggi: 135
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:48.





















