mover archivos con powershel desde un listado de archivos en variable de memoria

Iniciado por erick_correa, 17 Septiembre 2018, 22:18 PM

0 Miembros y 1 Visitante están viendo este tema.

erick_correa

Buenas tardes a todos, antes de nada permitanme decirles que esta es una WEB increible, he encontrado mucha información para poder aprender a solventar problemas diarios en mi  trabajo, gracias por los aportes, ahora les cuento, estoy incursionando en el tema de PowerShell y tengo un problema.

Tengo un Script que adapte de un ejemplo que encontré en la WEB que sube archivos a un ftp y luego de esto mueve los archivos a una ubicación local, mi problema es que ahora necesito que del listado de documentos que están en la variable $transferResult se muevan a un lugar determinado dependiendo del nombre, por ejemplo
factura1_FAC.XML, factura2_FAC.XML,
retencion1_RET, retencion2_RET

Los archivos que terminan en FAC se muevan a una ruta local FACTURA, los que terminan en RET se muevan a la carpeta local RETENCION

Aquí el script

Variables para las rutas
$pathXML, $remoto, $respaldoXML

Subo los archivos y almaceno el listado de archivos transferidos en $transferResult
$transferResult = $session.PutFiles($pathXML, $remoto)

Hago un for para barrer todos los archivos
foreach ($transfer in $transferResult.Transfers)
      {
         Move-Item $transfer.FileName  $respaldoXML
      }

Hasta aquì todo bien, muevo todos los archivos a una misma carpeta pero como hago para decirle que mueva los archivos a varias carpetas dependiendo del nombre.

Gracias y espero sus comentarios

EdePC

Saludos,

- Intenta esto:

Código (php) [Seleccionar]
if ($transfer.FileName -like "*_FAC*") {
  echo "Mueveme a FACTURA"
} elseif ($transfer.FileName -like "*_RET*") {
  echo "Mueveme a RETENCION"
}


- Uso de IF / LIKE en PowerShell: https://ss64.com/ps/if.html