배치 / Cmd 한 파일에서 내용을 읽고 다른 파일로 업데이트


0

나는 이것을 할 수 있어야하지만 뇌가 하루 동안 충분했다고 생각합니다 : ~ (

다음 형식의 파일이 있습니다 (이미 값이 포함되어 있음).

 Server=\\servername\sharepath

 Username=server\user

 Password=passwdval

값을 읽고 해당 값을 다음 파일에 삽입해야합니다 (아래 참조).

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

이것은 배치 / cmd 파일로 수행해야합니다.


지금까지 뭐 해봤 어? 우리는 대본 작성 서비스는 아니지만 몇 가지 시도를 해봤을 때 퍼즐을 풀 수없는 무언가에 맞서 기꺼이 도와 드리겠습니다.
music2myear

고마워 사람들은 실제로 몇 가지 if 문으로 어제 그것을 얻었습니다.
Ted

답변:


0

간단히 텍스트를 에코 <>하고 캐럿 ^<과로 모든 것을 이스케이프 처리하십시오 ^>.
입력 파일을 읽고 for / f를로 등호로 나누십시오 %%A/%%B.
/ f 용으로 사용자 이름을 DOMAIN 및 USER로 분할해야합니다 %%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%"

샘플 출력 :

> type SU_1250115.xml
<SHARE>\\servername\sharepath<SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER>
<UPWD>passwdval<UPWD>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.