none
Script Powershell RRS feed

  • Pregunta

  • Hola, necesito ayuda con un script que teno que realizar.

    Add-Content E:\Docs\Public\I\Presupuesto\listas\ing\datos_ing.sql "DELETE FROM productes WHERE PROVEEDOR='1';" -Force
    
    $lines = Get-Content E:\Docs\Public\I\Presupuesto\listas\ing\PRICE.TXT
    foreach ($line in $lines) {
    
        $linea = $line.split(",")
        $sku = $($linea[1]).Trim()
        $marca = $($linea[2]).Trim()
        $fab = $marca.split(" ")
        $fabricante = $($fab[0]).Trim()
        $codigo = $($linea[3]).Trim()
        $desc = $($linea[5]).Trim()
        $descripcion = $desc.Replace("'","")
        $precio = $($linea[7]).Trim()
        $stock = $($linea[10]).Trim()
    
    
        $canon = Get-Content E:\Docs\Public\I\Presupuesto\listas\ing\CANON.TXT 
        $cats = $canon.split("~")
        $sku_can = $($cats[2]).Trim()
        $precio_can = $($cats[4]).Trim()
    
        if ($sku -eq $sku_can){
           $precio = $precio + $precio_can;
        }
           
        $proveedor = 1
    
        Add-Content E:\Docs\Public\I\Presupuesto\listas\ing\datos_ing.sql "INSERT INTO productes (SKU, CODIGO, FABRICANTE, DESCRIPCION, CATEGORIA, SUBCATEGORIA, PVD, STOCK, PROVEEDOR, WEB) VALUES ('$sku', '$codigo', '$fabricante', '$descripcion ', '$categoria', '$subcategoria', $precio, $stock, $proveedor, '$web');" -Force
    
    }

    Tengo que tratar un fichero "PRICE.TXT" e introducir la información en la bbdd pero hay un campo del fichero "CANON.TXT" que tengo que sumar ($precio_can a la variable $precio) cada vez que el campo SKU se encuentre en los dos ficheros.

    Ejemplo:

    PRICE.TXT

    A,B090133     , [...] ,00000000,0000343.07,        ,EUR, ,

    CANON.TXT

    ES~B090133     ~884~0000000000000.2400~

    En este caso como coincide el campo SKU, habria que suma el precio.

    El código me marca un error de programación. A ver si alguien me puede ayudar.

    Gracias.

    miércoles, 6 de septiembre de 2017 11:27