PDA

View Full Version : Powershell - aiuto per script


digitalmacchi@gmail.com
19-09-2018, 09:50
Buongiorno a tutti,
dovrei creare uno script che formatta un txt cosi:


"RegisterNo";"Saldo";"UserId";"LastName";"FirstName";"PExtnNumber";"VExtnNumber";"UserClass"
"2";""15.10"";"5459";"pippo";"pippa";"0";"99992047";"default"
"2";""24.00"";"1069";"pippo";"pippa";"0";"99992047";"default"
"2";""1.50"";"1099";"pippo";"pippa";"0";"99992047";"default"
"2";""4.00"";"5459";"pippo";"pippa";"0";"99992047";"default"

in questo risultato:

5459;1;3255;;;2018;7;N;;;;;15.10;;;;;;;;;;;;;;;
1069;1;3255;;;2018;7;N;;;;;24.00;;;;;;;;;;;;;;;
1099;1;3255;;;2018;7;N;;;;;1.50;;;;;;;;;;;;;;;
1110;1;3255;;;2018;7;N;;;;;4.00;;;;;;;;;;;;;;;

dove i primi 4 caratteri risultano UserID , ;1;3255;;; sempre presente, 2018;7;N il mese anno del log e l'ultimo la cifra saldo.

ho fatto questo piccolo script:

$file1 = gc "Export_Employee_20180701-0200.txt"| % {$_.split(";")[2,1] -join "" -replace '"', ' ' -replace '-', ''} | select-object -skip 1

Write-Output $file1

ma come risultato ottengo solo
5459 15.10


non so proprio che pesci prendere! grazie mille per il vostro aiuto!!!

x_Master_x
22-09-2018, 10:24
Batch

: x_Master_x
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

SET FILE=Export_Employee_20180701-0200.txt

FOR /F "tokens=3 delims=_" %%A IN ("%FILE%") DO (
SET YEAR=%%A
SET YEAR=!YEAR:~,4!
SET MONTH=%%A
SET MONTH=!MONTH:~5,1!
)


FOR /F "skip=1 tokens=1,2,3 delims=;" %%A IN (%FILE%) DO (
SET STRING=%%C;1;3255;;;!YEAR!;!MONTH!;N;;;;;%%B;;;;;;;;;;;;;;;
SET STRING=!STRING:"=!
ECHO !STRING!
)

PAUSE

https://i.imgur.com/pH48Cv9.png