Batch / Cmd Baca untuk konten dari satu file dan perbarui di yang lain

0

Saya seharusnya bisa melakukan ini, tetapi saya pikir otak sudah cukup untuk hari itu: ~ (

Saya memiliki file dalam format berikut (sudah berisi nilai):

 Server=\\servername\sharepath

 Username=server\user

 Password=passwdval

Saya perlu membaca nilai-nilai dan memasukkan nilai-nilai itu ke file berikut (seperti yang ditunjukkan di bawah ini):

<SHARE>\\servername\sharepath</SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER>  <UPWD>passwdval</UPWD>

Ini harus dilakukan dengan file batch / cmd.

Ted
sumber
Apa yang sudah Anda coba sejauh ini? Kami bukan layanan penulisan skrip, tetapi kami senang membantu Anda ketika Anda sudah mencoba beberapa hal dan menghadapi sesuatu yang tidak bisa Anda tebak sendiri.
music2myear
Terima kasih kawan benar-benar mendapatkannya kemarin dengan beberapa pernyataan if.
Ted

Jawaban:

0

Cukup gema teks Anda dan lepas semua <>dengan tanda sisipan ^<dan ^>.
Baca file input Anda dan bagi dengan tanda sama dengan for / f %%A/%%B.
Anda harus membagi Nama Pengguna menjadi DOMAIN dan PENGGUNA dengan yang lain untuk / f %%C/%%D.

:: Q:\Test\2017\09\14\SU_1250115.cmd
@Echo off
Set "FileIn=SU_1250115.txt"
Set "FileOut=SU_1250115.xml"

( For /f "usebackq tokens=1* delims==" %%A in ("%FileIN%") Do (
    If /i "%%A"=="Server" Echo:^<SHARE^>%%B^<SHARE^>
    If /i "%%A"=="Username" for /f "tokens=1,2 delims=\" %%C in ("%%B") Do (
        echo ^<DOMAIN^>%%C^</DOMAIN^>
        echo ^<USER^>%%D^</USER^>
    )
    If /i "%%A"=="Password" echo ^<UPWD^>%%B^<UPWD^>
  ) 
) >"%FileOut%"

Output sampel:

> type SU_1250115.xml
<SHARE>\\servername\sharepath<SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER>
<UPWD>passwdval<UPWD>
Lotings
sumber