Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: erick_correa en 17 Septiembre 2018, 22:18 pm



Título: mover archivos con powershel desde un listado de archivos en variable de memoria
Publicado por: erick_correa en 17 Septiembre 2018, 22:18 pm
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


Título: Re: mover archivos con powershel desde un listado de archivos en variable de memoria
Publicado por: EdePC en 18 Septiembre 2018, 01:26 am
Saludos,

- Intenta esto:

Código
  1. if ($transfer.FileName -like "*_FAC*") {
  2.  echo "Mueveme a FACTURA"
  3. } elseif ($transfer.FileName -like "*_RET*") {
  4.  echo "Mueveme a RETENCION"
  5. }

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