내용에 많은 NUL 또는 데이터 사이에 공백이있는 텍스트 파일이 있습니다.
[null] [null] [null] [null] 이름 [null] [null] [null] [null] [null] [null] 성
텍스트 파일 내부의 데이터는 항상 다릅니다.
/ F "usebackq delims ="%% a in ( "% file %") do echo %% a 및 유사한 명령을 사용하여 많은 유사한 질문을 검색하고 테스트했지만 항상 빈 결과가 나타납니다.
누구든지 도울 수 있습니까?
예를 들어 다음 내용이 포함 된 텍스트 파일이있는 경우 :
그리고 NUL
정상적인 For /F
루프 파일 읽기의 일부로 문자 를 생략하고 싶다면 배치 파일 에서 powershell 에 도움을 요청할 수 있습니다 .
@For /F "Delims=" %%G In (
'%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe ^
-Nologo -NoProfile -Command "(Get-Content 'sourcefile.txt')" ^
" -replace '\x00',''"') Do @Echo(%%G
@Pause
더 쉽게 읽을 수 있도록 긴 줄을 여러 개로 분할했지만 한 줄 배치 파일 로 사용할 수도 있습니다 .
@(For /F "Delims=" %%G In ('%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -Nologo -NoProfile -Command "(Get-Content 'sourcefile.txt') -replace '\x00',''"') Do @Echo(%%G) & Pause
명령 프롬프트 cmd 에서 직접 간단한 용어로 수행하려면 다음을 수행하십시오 .
For /F "Delims=" %G In ('powershell -NoP "(GC 'sourcefile.txt') -replace '\x00',''"') Do @Echo(%G
[편집하다 /]
제공 한 정확한 예의 두 특정 단어 사이에 단일 com m a 를 추가하고 싶고 위의 링크 된 이미지에서 사용한 경우 가능합니다.
예를 들어 다음을 변경하여 PowerShell 부분 내에서 수행 할 수 있습니다.
-replace '\x00',''
...에 -replace ' ',', ' -replace '\x00',''
또는 For
루프 옵션 을 변경하여 수행 할 수 있습니다.
"Delims="
...에 "Tokens=1*"
다음 중 하나를 변경하십시오.
@Echo(%%G
, 또는 @Echo(%G
에:
@Echo(%%G, %%H
또는 @Echo(%G, %H
각각.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다