PC Ekspert Forum

PC Ekspert Forum (http://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (http://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   b64 encode (http://forum.pcekspert.com/showthread.php?t=302535)

Dooks 16.03.2020. 10:16

b64 encode
 
Pozdrav,

Trebam pomoć :goood:

Trebamo slati potpisani UBL prema Fini.
Za isto se koristi jedan program koji preuzme XML iz foldera te ga šalje prema drugom sustavu gdje radi provjeru istog.
Problem dođe kada program preuzme XML isti strukturira (CRLF) te se i sama struktura potpisa promjeni i račun ne prolazi validaciju.

Nakon toga je složeno da prije slanja preko bat filea se napravi b64 i pošalje file.

problem kod toga je što taj b64 napravi 64 znakova te ide u novi red.

Pitanje: kako napraviti b64 encode da encode ide u jedan red?

skripta izgleda:

Code:

for %%a in (C:\xxxxxxx\1_files\xxxxxxx\OUT\*.xml ) do (
  certutil -f -encode "%%a" "C:\xxxxx\1_files\xxxxxxx\OUT\OUT_b64\%%~na.xml" && del "%%a"
 )
 for %%a in (C:\xxxxxxx\1_files\xxxxxxx\OUT\OUT_b64\*.xml ) do (
findstr /v /i /c:"-----END CERTIFICATE-----" /c:"-----BEGIN CERTIFICATE-----" "%%a" >C:\xxxxxxx\1_files\xxxxxxx\OUT\OUT_b64\1\%%~na.xml  && del "%%a"
)

Hvala!

mkey 16.03.2020. 19:34

Kako me iritira windows shell to je čudo jedno :D

text.txt
Code:

some
multiline
text

test.cmd
Code:

if exist output.txt del output.txt
for /f %%a in (text.txt) do >output.txt
pause

output.txt
Code:

textsomemultilinetext

Dooks 17.03.2020. 10:51

Hvala!
idem isprobavati :chears:

mkey 17.03.2020. 18:18

Mmmm, potkrala mi se greškica gore u outputu (c/p), ali stvar bi trebala raditi :D

Dooks 25.03.2020. 13:24

Žicam još pomoć ako će netko znati.

Gore navedeno mkeya radi ako se radi o jednom file-u.

Kako bi trebala biti skripta ukoliko treba povući više xml-a iz foldera, maknuti newline i staviti nove xml-e u drugi folder?

Code:

for /f %%a in (C:\xxx\1_files\xxx\OUT\OUT_b64\1\*.xml) do ( >"C:\xxx\1_files\xxx\OUT\OUT_b64\1\2\%%~na.xml"
)

Probao sam prema gore, no javlja: The system cannot find the file C:\xxx\1_files\xxx\OUT\OUT_b64\1\*.xml

Hvala!

Nikky 25.03.2020. 14:14

Pucam napamet, vidi jeli treba i ovaj prvi dio staviti u navodnike, npr. ("C:\xxx\1_files\xxx\OUT\OUT_b64\1\*.xml")

mkey 25.03.2020. 21:41

Treba ti još jedna petlja. Ova opcija /f znači "otvori file i listaj ga liniju po liniju".

Staviš jednu vanjsku petlju koja će listati fajlove i onda ova unutarnja odradi svaki file.

Mrzim windows shell i njegove pizdarije :D

Dooks 26.03.2020. 08:23

Može pomoć kako bi to trebalo izgledati?
Od pokušavanja mi je trenutno mozak van funkcije...

Hvala!

mkey 26.03.2020. 18:50

Ovako nekako:

Code:

@ECHO OFF

FOR %%a IN ("*.txt") DO CALL :FUNC "%%a"
GOTO :EXIT

:FUNC
    set input=%~1
    set output=%~n1_out%~x1
   
    ECHO convert %~1 to %output%
   
    IF EXIST %output% DEL %output%
    FOR /F %%a IN (%input%) DO >%output%
    GOTO :EOF

:EXIT
PAUSE

set input=
set output=
:EOF

Dakle, ovo prođe kroz sve *.txt fajlove i napravi *_out.txt fajlove. Trebaš čistii ove _out.txt jer zbog sortiranja to duplira unedogled. Ili imenovati to output fajlove drugačije.

Dooks 26.03.2020. 20:28

Hvala puno na pomoći!
Već sam počeo sjediti od ovog :lol2:

mkey 26.03.2020. 22:07

Upravo zato i ponavljam koliko mrzim windows shell. Uništio me u više navrata.

Dooks 02.04.2020. 14:09

Da javim da sam uspio srediti. Malo sam još prilagodio poslano kako nama odgovara.

Hvala puno na pomoći :respekt:

mkey 02.04.2020. 19:35

Živio.


Sva vremena su GMT +2. Sada je 11:59.

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 1999-2023 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger