[windows] Windows의 명령 줄에서 빈 파일을 만드는 방법은 무엇입니까?

DOS / Windows 명령 행에서 빈 파일을 작성하는 방법은 무엇입니까?

나는 시도했다 :

copy nul > file.txt

그러나 항상 파일이 복사되었음을 표시합니다.

표준 cmd에 다른 방법이 있습니까?

Cygwin 의 터치 명령이나 다른 비표준 명령이 필요하지 않은 방법이어야 합니다. 키 입력을 사용할 수 없도록 스크립트에서 명령을 실행해야합니다.



답변

없이 재, 루크 데자뷰 또는 에릭 Konstantopoulos는 지적 밖으로 합니다 :

copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt

배치 파일에서 빈 텍스트 파일을 만드는 방법? “(2008)은 다음을 가리 킵니다.

type NUL > EmptyFile.txt
# also
echo. 2>EmptyFile.txt
copy nul file.txt > nul # also in qid's answer below
REM. > empty.file
fsutil file createnew file.cmd 0 # to create a file on a mapped drive

Nomad독창적 인 것을 언급 합니다 :

C:\Users\VonC\prog\tests>aaaa > empty_file
'aaaa' is not recognized as an internal or external command, operable program or batch file.

C:\Users\VonC\prog\tests>dir

 Folder C:\Users\VonC\prog\tests

27/11/2013  10:40    <REP>          .
27/11/2013  10:40    <REP>          ..
27/11/2013  10:40                 0 empty_file

같은 정신으로 사무엘 은 다음 과 같이 논평합니다 .

내가 사용하는 가장 짧은 것은 기본적으로 Nomad의 것입니다.

.>out.txt

오류가 발생합니다.

'.' is not recognized as an internal or external command

그러나이 오류는 stderr에 있습니다. 그리고 >단지 표준 출력, 리디렉션 아무것도 생성되지되어 있습니다.
따라서 파일을 만듭니다. 여기서 오류 메시지는 무시해도됩니다.


(원래 답변, 2009 년 11 월)

echo.>filename

( echo ""실제로 파일에 “”를 넣을 것입니다! echo‘.’없이 파일 에 ” Command ECHO activated“를 넣을 것입니다 …)

참고 : 결과 파일은 비어 있지 않지만 리턴 라인 순서 (2 바이트)를 포함합니다.


토론 은 실제 파일에 대한 진정한 배치 솔루션을 가리 킵니다 .

 <nul (set/p z=) >filename

 dir filename
 11/09/2009  19:45                 0 filename
 1 file(s)                         0 bytes

<nulnulset/p명령에 대한 응답을 파이프하여 사용 된 변수가 변경되지 않도록합니다. 에서와 마찬가지로 set/p등호 오른쪽에있는 문자열은 CRLF없이 프롬프트로 표시됩니다.

여기서 “등호 오른쪽의 문자열”은 비어 있으므로 결과는 빈 파일입니다.


cd. > filename( Patrick Cuff의 답변 에서 언급 하고 0 바이트 길이의 파일을 생성하는)과 의 차이점 은이 “리디렉션 비트”( <nul...트릭)를 사용하여 CR없이 라인에코 하는 데 사용할 수 있다는 것입니다 .

<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt

dir11 바이트로 명령은 파일 크기를 표시해야합니다 : ” helloworld!“.


답변

이 시도:

type NUL > 1.txt

이것은 분명히 빈 파일을 만듭니다.


답변

다른 방법이 있습니다.

cd. > filename


답변

stdout에 대한 출력없이 완전히 빈 파일을 원한다면 약간의 부정 행위를 할 수 있습니다.

copy nul file.txt > nul

stdout을 nul로 리디렉션하면 copy의 출력이 사라집니다.


답변

파일 열기 :

type file.txt

새로운 파일 :

Way 1 : type nul > file.txt
Way 2 : echo This is a sample text file > sample.txt
Way 3 : notepad myfile.txt <press enter>

내용 편집 :

notepad file.txt

copy file1.txt file1Copy.txt

이름 바꾸기

rename file1.txt file1_rename.txt

파일 삭제 :

del file.txt


답변

내 게시물에 대한 의견을 읽으면 질문을 올바르게 읽지 않았다는 것을 인정해야합니다.

Windows 명령 행에서 한 가지 방법은 fsutil 을 사용하는 것입니다 .

fsutil file createnew <filename> <size>

예를 들면 :

fsutil file createnew myEmptyFile.txt 0

아래는 * nix 명령 행입니다.

touch filename

이 명령은 파일의 수정 날짜를 변경하거나 파일을 찾을 수없는 경우 작성합니다.


답변

echo "" > filename

나는 이것이 Windows / DOS에서 작동한다고 생각하지만, 마지막 경험 중 하나는 꽤 오래 전입니다. 기본적으로 POSIX 호환 OS 에서 작동한다는 사실을 알고 있습니다.