2010-01-12 4 views
2

배치 파일 (*.bat)을 사용하여 %tv% 폴더에 "new text document.txt"라는 파일을 만들려고합니다. 정말 %tv%에서 파일을 만들 수 있습니다,하지만 위의 배치 파일을 실행할 때, 나는 '배치 파일 (* .bat)에서 파일 명령 만들기

말하는 오류 메시지가 표시되지만

set tv=D:\prog\arpack96\ARPACK\SRC 
cd "%tv%" 
@CON >> "new text document.txt" 
set tv= 

인식되지 않습니다 : 이것은 내 배치 파일입니다 내부 또는 외부 명령으로 작동 가능한 프로그램 또는 배치 파일.

어쨌든이 오류 메시지를 제거 할 수 있습니까? 아니면 잘못된 명령을 사용하여 파일을 만드는 중입니까?

답변

6

를 입력하여 텍스트를 저장할 수 있습니다

set tv=c:\documents and settings\administrator 
cd "%tv%" 
<nul >"new text document.txt" (set /p tv=) 

set /p는후 프롬프트를 출력 한 후 tv 변수로 유저에게 입력을 요구 : 상호 작용, 당신은 약간의 속임수로 set /p 명령을 사용할 수 있습니다문자.

프롬프트가 비어 있으므로 프롬프트가 표시되지 않습니다. 너는 nul에서 읽으므로 사용자 상호 작용을 기다리지 않는다. 그리고 빈 문자열을 tv에 바로 저장할 수 있으므로 설정을 해제 할 필요가 없습니다.


사실 더 생각해 보면 더 쉬운 방법이 있습니다. 이전에 그 set /p 속임수를 사용했습니다. 왜냐하면 새 줄을 추가하지 않고 텍스트를 반향 출력하는 유일한 방법이기 때문에 (콘솔의 진행 막대에 유용합니다). 당신이 원하는 모든 빈 파일 인 경우에, 당신은 아마 멀리 얻을 수 있습니다 :

copy /y nul "new text document.txt" 

copy 단순히 새 파일 이름으로 복사 nul 장치 (효과적으로 빈 파일)의 내용을. /y은 사용자를 귀찮게하지 않고 덮어 쓰도록하는 것입니다.

+0

정답입니다. – Graviton

+0

글쎄, 그것은 정답이다. 단지 하나만이 아닐 수도있다 :-) – paxdiablo

+0

나는 보통'type nul>'또는'copy nul'을 사용했다. 그러나 나는 그'set/p' 트릭에 대해 나중에 많이 배웠다. :). – Joey

3
type nul > file.txt 

file.txt를가 빈 작성해야

또는 paxdiablo's answer

+0

아니요, 작동하지 않습니다. – Graviton

+0

사용자 상호 작용을 원하지 않습니다. 내가 원하는 것은 그냥 빈 파일을 조용히 만드는 것이다. – Graviton

+0

유형 nul해야합니다 – jspcal

0

사기 창문 전문 파일 이름이며 사용하지 않아야합니다.

복사 사기꾼 >> 파일 이름 .txt

는 텍스트를 입력하도록 요구하며, 당신은 사용자에게 제공하지 않고 진정으로 빈 파일을 얻으려면 Ctrl 키 Z를

+0

나는 텍스트를 입력하도록 요청하고 싶지 않다; 지정된 위치에 자동으로 파일을 만들길 원합니다. – Graviton

4

* .bat 파일에서 빈 파일을 만듭니다.이 파일은 저에게 효과적입니다.

echo off > test.txt