배치 파일에서 파일 (텍스트 또는 바이너리)을 읽는 방법은 무엇입니까? 바이너리 모드 나 텍스트 모드로 읽는 방법이 있습니까?배치 파일 : 파일을 읽는 방법?
NT 스타일의 cmd.exe를 아래에서답변
당신은 명령에 대해 사용할 수 있습니다 (즉, 어떤 "DOS"사용중인에 작동하는지 모른다). 또한 parse ini files 수 있습니다!
이것은 매우 복잡한 예이며 특별히 설명하지 않은 채 형식이 지정된 텍스트 파일의 특정 정보를 구문 분석합니다. 'for /? '와 같이 명령 *은 myfile.txt의 각 행을 구문 분석하고 세미콜론으로 시작하는 행을 무시하고 쉼표 및/또는 공백으로 구분 된 토큰으로 각 행의 두 번째 및 세 번째 토큰을 본문에 전달합니다 . * –
을 수행 할 수 있습니다 자세한 내용은 명령 프롬프트에
FOR /F %i IN (file.txt) DO @echo %i
유형 "에 대한 도움"텍스트 파일의 라인을 통해 루프. 명령 프롬프트에서
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
유형
for /?
:
'%% i'이어야합니다. –
이 명령은 공백 문자를 발견하면 줄을 읽는 것을 중단합니다. 결국 FOR/F "tokens = *"%% i IN (file.txt)을 사용하여 끝났습니다. @ECHO %% i – Jason
작동합니다! 콘솔을 사용하고 있다면 bat 파일을 사용하는 경우 % i을 시도한 다음 %% i를 시도하십시오. –
일반적으로 FOR-LOOP는 작동하지만 몇 가지 문제가 있습니다. FOR는 빈 줄을 허용하지 않으며 ~ 8190이 넘는 줄은 문제가됩니다. 지연된 확장을 사용하지 않으면 확장이 안정적으로 작동합니다.
CR/LF 대 단일 LF의 탐지도 약간 복잡해 보입니다.
또한 FOR-Loop가 즉시 읽기를 취소하므로 NUL 문자가 문제가됩니다.
바이너리 독서는 거의 불가능한 것처럼 보입니다.
빈 줄 문제는 트릭으로 해결할 수 있습니다. findstr 명령을 사용하여 각 행 앞에 행 번호를 붙이고 접두어를 제거한 후 읽습니다. 활성화하고 장애인 지연 확장 사이에 토글
@echo off
SETLOCAL DisableDelayedExpansion
FOR /F "usebackq delims=" %%a in (`"findstr /n ^^ t.txt"`) do (
set "var=%%a"
SETLOCAL EnableDelayedExpansion
set "var=!var:*:=!"
echo(!var!
ENDLOCAL
)
는 !
또는 ^^^xy!z
같은 문자열, 작업 안전에 대한이 켜지지입니다.
set "var=%%a"
라인은 DisabledDelayedExpansion으로 만 안전합니다. 그렇지 않으면 느낌표가 제거되고 캐럿은 (보조) 이스케이프 문자로 사용되며 제거되기도합니다.
var
변수는 EnabledDelayedExpansion으로 만 안전합니다. call %%var%%
도 "&"&
과 같은 내용으로 실패합니다.
편집이 :/P 변형
set /p
로 파일을 읽는의 두 번째 방법이 있습니다 설정 추가 유일한 단점은 라인 당 ~ 1,024 자로 제한이라고하며,이 라인 끝에서 제어 문자를 제거 .
하지만 장점은, 당신은 지연 토글을 필요로하지 않았다 그것을 당신이 SO: converting a binary file to HEX representation using batch file에서
볼 수있는 육각 표현으로 "진"을 읽기위한 변수
@echo off
setlocal EnableDelayedExpansion
set "file=%~1"
for /f "delims=" %%n in ('find /c /v "" %file%') do set "len=%%n"
set "len=!len:*: =!"
<%file% (
for /l %%l in (1 1 !len!) do (
set "line="
set /p "line="
echo(!line!
)
)
에 값을 저장하는 것이 더 쉽습니다
'set/p' 사용에 대한 포인터를 보내 주셔서 감사합니다. 나는'set/p value =
Jeb, 위의 해결책에 기반한 관련 질문을 http://stackoverflow.com/questions/11408295/with-dos -batch-file-how-to-parse-a-file-and-output-part-to-one-file-part-to-an – Nicholas
EOF (파일 끝) 문자 인 ASCII '0x1A'는 어떨까요? ? 'for/F'는 NUL ('0x00') 문자와 같은 방식으로 동작합니까? – aschipfl
방금 cmd를에 표시하려는 경우, 당신은이를 사용할 수 있습니다
cat myfile.txt
'cat'은 windows 명령이 아닙니다. , 당신은'type'을 사용해야합니다. –
잘 알을 프로그래머 다른 방법 하다며하지만 당신은 단지 텍스트를 표시하고 저장하지하려면 어디서나 당신은 단지 사용
set /p mytextfile=< %pathtotextfile%\textfile.txt
echo %mytextfile%
이됩니다 할 findstr /v "randomtextthatnoonewilluse" filename.txt
한 아주 쉬운 방법을 다음과 같은 명령을 사용하다 텍스트 파일의 첫 번째 텍스트 줄만 표시합니다. 다른 방법으로 다음 명령을 사용하면됩니다.
type %pathtotextfile%\textfile.txt
이렇게하면 텍스트 파일의 모든 데이터가 화면에 표시됩니다. 희망이 도움이!
- 1. Visual Studio에서 명령 응용 프로그램을 프로그래밍하여 배치 파일을 읽는 방법
- 2. 파일을 읽는 파일 위치
- 3. .epub 파일을 읽는 방법
- 4. 파일 끝까지 이진 파일을 읽는 방법?
- 5. 비공유 파일을 읽는 방법
- 6. 파일 내용을 읽는 방법
- 7. 배치 파일을 사용하여 구성 파일
- 8. iPhone에서 파일을 읽는 방법?
- 9. Makefile에서 파일을 읽는 방법?
- 10. 파일을 거꾸로 읽는 방법?
- 11. txt 파일을 읽는 방법
- 12. pim.vol 파일을 읽는 방법
- 13. sdef 파일을 읽는 방법
- 14. 파일을 저장하고 읽는 방법
- 15. 파일을 읽는 방법
- 16. .bin 파일을 읽는 방법?
- 17. R .arff 파일을 읽는 방법?
- 18. 디스크에서 파일을 직접 읽는 방법?
- 19. 원격 INI 파일을 읽는 방법
- 20. vb.net에 배치 파일을 통합하는 방법
- 21. 배치 파일에서 레지스트리 문자열 값을 읽는 방법
- 22. textscan을 사용하여 파일을 읽는 방법?
- 23. 공유 위치에서 파일을 읽는 방법 Windows? (자바)
- 24. MSI에서 배치 파일을 호출하는 방법
- 25. Java에서 XML 파일을 읽는 방법
- 26. 역순으로 PS 파일을 읽는 방법?
- 27. 효율적인 방법으로 파일을 읽는 방법
- 28. 로컬 XML 파일을 읽는 방법
- 29. Ruby에서 열린 파일을 읽는 방법
- 30. 파일을 읽는 중인지 확인하는 방법
@ RookieTEC9 : 그렇습니다. 2 가지가 완벽하다는 점은 알고 있지만 mstos에서 작동하는 답변이 필요합니다. Windows NT (또는 최신 버전)가 아닌 7 년 전에이 질문에 대해 염두에 두었습니다. –
@ RookieTEC9 : 네가 맞다고 생각한다. ms-dos 태그를 제거합니다. –
MS-DOS 용으로 'TYPE [fileName]'명령을 사용할 수 있습니다. – RookieTEC9