version 2

This commit is contained in:
2025-05-19 17:01:47 +02:00
parent 0d4a933b41
commit 63d0cec45c

View File

@@ -4,43 +4,51 @@ Import-Module -Name 'Windows.Forms'
# Creamos una ventana # Creamos una ventana
$Form = New-Object Windows.Forms.Form $Form = New-Object Windows.Forms.Form
$Form.Text = "Copiador de archivos con Robocopy" $Form.Text = "Copiador de archivos con Robocopy"
$Form.Size = New-Object Drawing.Size(400, 200) $Form.Size = New-Object Drawing.Size(400, 250)
# Importamos el módulo necesario para crear la interfaz gráfica # Etiqueta y campo de texto para la ruta de origen
Import-Module -Name 'Windows.Forms' $LabelSource = New-Object Windows.Forms.Label
$LabelSource.Text = "Ruta de origen:"
$LabelSource.Location = New-Object Drawing.Point(10, 10)
$Form.Controls.Add($LabelSource)
# Creamos una ventana $TextBoxSource = New-Object Windows.Forms.TextBox
$Form = New-Object Windows.Forms.Form $TextBoxSource.Location = New-Object Drawing.Point(10, 30)
$Form.Text = "Copiador de archivos con Robocopy" $TextBoxSource.Size = New-Object Drawing.Size(360, 20)
$Form.Size = New-Object Drawing.Size(400, 200) $Form.Controls.Add($TextBoxSource)
# Creamos una etiqueta para mostrar el progreso # Etiqueta y campo de texto para la ruta de destino
$Label = New-Object Windows.Forms.Label $LabelDestination = New-Object Windows.Forms.Label
$Label.Text = "Progreso:" $LabelDestination.Text = "Ruta de destino:"
$Label.Location = New-Object Drawing.Point(10, 10) $LabelDestination.Location = New-Object Drawing.Point(10, 60)
$Form.Controls.Add($Label) $Form.Controls.Add($LabelDestination)
$TextBoxDestination = New-Object Windows.Forms.TextBox
$TextBoxDestination.Location = New-Object Drawing.Point(10, 80)
$TextBoxDestination.Size = New-Object Drawing.Size(360, 20)
$Form.Controls.Add($TextBoxDestination)
# Creamos una barra de progreso # Creamos una barra de progreso
$ProgressBar = New-Object Windows.Forms.ProgressBar $ProgressBar = New-Object Windows.Forms.ProgressBar
$ProgressBar.Location = New-Object Drawing.Point(10, 30) $ProgressBar.Location = New-Object Drawing.Point(10, 110)
$ProgressBar.Size = New-Object Drawing.Size(360, 20) $ProgressBar.Size = New-Object Drawing.Size(360, 20)
$Form.Controls.Add($ProgressBar) $Form.Controls.Add($ProgressBar)
# Creamos un botón para iniciar la copia # Creamos un botón para iniciar la copia
$Button = New-Object Windows.Forms.Button $Button = New-Object Windows.Forms.Button
$Button.Text = "Iniciar Copia" $Button.Text = "Iniciar Copia"
$Button.Location = New-Object Drawing.Point(10, 60) $Button.Location = New-Object Drawing.Point(10, 140)
$Button.Add_Click({ $Button.Add_Click({
# Ruta de origen y destino # Obtenemos las rutas de origen y destino desde los campos de texto
$SourcePath = "C:\Users\O\Desktop\Origen" $SourcePath = $TextBoxSource.Text
$DestinationPath = "C:\Users\O\Desktop\Destino" $DestinationPath = $TextBoxDestination.Text
# Ejecutamos Robocopy con los parámetros deseados # Ejecutamos Robocopy con los parámetros deseados
robocopy $SourcePath $DestinationPath /MIR /Z robocopy $SourcePath $DestinationPath /MIR /Z > $DestinationPath\log.txt
# Actualizamos la barra de progreso # Actualizamos la barra de progreso
$ProgressBar.Value = 100 $ProgressBar.Value = 100
$Label.Text = "Copia completada" $LabelSource.Text = "Copia completada"
}) })
$Form.Controls.Add($Button) $Form.Controls.Add($Button)