명령 프롬프트 (또는 배치 파일)에서 파일 크기를 어떻게 조정합니까?
파일을 바이너리 로 취급해야합니다 . 파일 형식은 관련이없고 임의적입니다.
파일을 확장하면 0으로 채워야합니다.
파일을 축소하면 파일이 잘립니다.
다시 말해:
SetEndOfFile
명령 프롬프트에서 기능을 어떻게 복제 합니까?
명령 프롬프트 (또는 배치 파일)에서 파일 크기를 어떻게 조정합니까?
파일을 바이너리 로 취급해야합니다 . 파일 형식은 관련이없고 임의적입니다.
파일을 확장하면 0으로 채워야합니다.
파일을 축소하면 파일이 잘립니다.
다시 말해:
SetEndOfFile
명령 프롬프트에서 기능을 어떻게 복제 합니까?
답변:
기능이 기본적으로 DOS 쉘에 존재한다고 생각하지 않습니다. 다른 프로그램을 사용하여 작업을 완료해야한다고 생각합니다. 몇 가지 가능성이 있습니다.
Trunc 라는 도구가 있습니다 .
Trunc는 파일을 지정된 크기로 자르는 Windows 명령 줄 앱입니다. 파일을 확대 할 수도 있습니다.
파일이 어떻게 채워지는지 정확히 알아 내기 위해 시도해야하지만 (예 : 0 또는 쓰레기) 그렇지 않으면 요청한 청구서에 맞는 것 같습니다.
fsutil 은 도움이 될만한 기능이있는 Windows XP 이상의 시스템 도구입니다. 특히이 fsutil file
하위 명령은 길이를 설정하고 채우기 파일을 0으로 만들 수있는 것으로 보입니다.
구체적으로 특별히:
fsutil file createnew "C:\temp\myfile" 1024
채워진 1024 바이트 파일을 만들지 만 파일을 자르는 방법을 볼 수 없습니다. 유효한 데이터 길이를 설정하는 명령이 있지만 EOF 마커를 다음과 같이 수정하지는 않습니다.
setvaliddata 사용
NTFS에는 두 가지 중요한 파일 길이 개념 인 파일 끝 (EOF) 마커와 유효 데이터 길이 (VDL)가 있습니다. EOF는 파일의 실제 길이를 나타냅니다. VDL은 디스크에서 유효한 데이터 길이를 식별합니다. C2 오브젝트 재사용 요구 사항을 보존하기 위해 VDL과 EOF 간의 모든 읽기는 자동으로 0을 리턴합니다.
UVHD 는 원하는 기능을 가진 것으로 보이는 16 진 편집기입니다. 유일한 문제는 Windows / SFU (Services for Unix)에서만 작동하며 DOS에서는 작동하지 않는다는 것입니다. 그것이 실제로 최종 사용자에게 의미하는 바는 모르지만 Vista와 Win 7에서 SFU가 떨어 졌다는 모호한 의심이 있습니다.
trunc
내가 필요한 걸 해 아, 그리고 참고 : SFU (또는 오히려 SUA- "UNIX 기반 응용 프로그램의 하위 시스템", 즉 Interix)는 Windows 7에서 삭제되지 않았습니다. 그것은 이제 Ultimate 버전 의 옵션 구성 요소입니다. : \
fsutil
답변을 사용 하고 임의의 길이의 파일을 작성하는 다른 방법을 찾았습니다 .하지만 언급했듯이 파일을 자르는 올바른 방법을 볼 수는 없습니다.
copy /Y nul: file.txt
물론 0 바이트로만 설정하십시오.
Windows 용 BSD 자르기 빌드를 사용해보십시오 .
편집 : 2GB보다 큰 파일에서는 작동하지 않습니다.
큰 파일로 잘 작동하는 대안 :