Guest User

Untitled

a guest
Nov 19th, 2019
106
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ########### ENCABEZADO ###########
  2. #
  3. # Nombre del script: ejercicio1.ps1
  4. # Trabajo practico: N°2
  5. # Ejercicio: N°3
  6. # Integrantes:
  7. #
  8. # Jason Leonel Linares 39.785.415
  9. # Agustin Franco Di Maulo 40.936.951
  10. # Nicolas Martin Cano 39.775.044
  11. # Fernando Ezequiel Saldaña 38.346.178
  12. # Carolina Tiziana Vitulli 93.584.701
  13. #
  14. # Correspondiente a: Entrega 1
  15. #
  16. #################################
  17.  
  18. <#
  19. .SYNOPSIS
  20. En base a un archivo CSV con los datos de origen y destino,
  21. mueva archivos de un directorio a otro y registra en un log con formato CSV la hora en la que se movió cada uno de esos archivos.
  22. .PARAMETER entrada
  23. Path del archivo CSV de entrada.
  24. .PARAMETER salida
  25. Path del archivo CSV de salida (log). Incluye nombre del archivo.
  26. .EXAMPLE
  27. ejercicio3.ps1 -entrada entrada.csv -salida salida.csv
  28. #>
  29.  
  30. Param (
  31. [Parameter(Position = 1, Mandatory = $true)]
  32. [String] $entrada,
  33. [Parameter(Position = 2, Mandatory = $true)]
  34. [String] $salida
  35. )
  36.  
  37. if (Test-Path "$entrada") {
  38.  
  39. $salidaPathPre = Resolve-Path -LiteralPath "$salida"
  40. $salidaPath = Split-Path -Path "$salidaPathPre"
  41.  
  42. if (Test-Path $salidaPath) {
  43.  
  44. $csvEntrada = Import-Csv -Path "$entrada"
  45. foreach($line in $csvEntrada)
  46. {
  47.  
  48. $destino = $line.destino
  49. $destinoPath = Split-Path -Path $line.destino
  50. $origen = $line.origen
  51.  
  52. if(!(Test-Path $destino)){
  53. New-Item -Path $destinoPath -ItemType Directory -Force | Out-Null
  54. }
  55.  
  56. if((Test-Path $origen)){
  57. Move-Item $origen $destinoPath
  58. $var = [pscustomobject]@{
  59. archivo = [System.IO.Path]::GetFileName($origen)
  60. fecha = Get-Date -Format "dd/MM/yyyy"
  61. }
  62.  
  63. $var | Export-Csv -Path "$salida" -Append
  64. }else{
  65. Write-Host "Hubo un problema al tratar de mover el archivo (" $origen ") a la carpeta destino (" $destino ")"
  66. }
  67. }
  68. }
  69. else {
  70. Write-Host "Error en el directorio de salida, revisar existencia y/o permisos."
  71. }
  72. }
  73. else {
  74. Write-Host "Error en el directorio de entrada, revisar existencia y/o permisos."
  75. }
RAW Paste Data