Windows 컴퓨터 에서이 오류가 발생합니다
‘touch’는 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.
지시 에 따라 할 때 :
touch index.html app.js style.css
‘touch’를 사용하는 것과 동등한 창이 있습니까? 이러한 종류의 명령을 구현하려면 이러한 파일을 직접 작성하고 타임 스탬프를 변경하도록 수정해야합니까? 그것은 … 노드처럼 보이지 않습니다 …
답변
cmd 창에서 다음을 입력하십시오.
type nul > your_file.txt
your_file.txt 파일에 0 바이트가 생성됩니다.
이를 수행하는 다른 방법은 echo 명령 을 사용하는 것입니다 .
echo.> your_file.txt
에코. -빈 줄이 하나있는 파일을 만듭니다.
2019-04-01에 편집 :
파일 내용을 보존해야하는 경우> 대신>를 사용하십시오.
> Creates a new file
>> Preserves content of the file
예
type nul >> your_file.txt
2020-04-07에 편집 됨
call 명령을 사용할 수도 있습니다 .
부모 배치 프로그램을 중지하지 않고 다른 배치 프로그램을 호출합니다. call 명령은 레이블을 호출 대상으로 승인합니다.
예:
call >> your_file.txt
답변
Windows에는 기본적으로 touch
명령이 포함되어 있지 않습니다 .
사용 가능한 공개 버전 중 하나를 사용하거나 고유 한 버전을 사용할 수 있습니다. 이 코드를 다른 이름으로 저장 touch.cmd
하고 경로 어딘가에 배치하십시오
@echo off
setlocal enableextensions disabledelayedexpansion
(for %%a in (%*) do if exist "%%~a" (
pushd "%%~dpa" && ( copy /b "%%~nxa"+,, & popd )
) else (
type nul > "%%~fa"
)) >nul 2>&1
인수 목록을 반복하고 존재하는 경우 각 요소에 대해 파일 시간 소인을 업데이트하거나 그렇지 않으면 작성하십시오.
답변
이 명령을 사용할 수 있습니다 : ECHO >> filename.txt
현재 폴더에 주어진 확장자를 가진 파일을 만듭니다.
최신 정보:
빈 파일 사용 : copy NUL filename.txt
답변
대답이 잘못되었습니다. 파일이 존재하지 않을 때만 작동합니다. 파일이 존재하는 경우, 첫 번째 방법은 아무 것도 사용하지 않고 두 번째 파일은 파일 끝에 줄을 추가합니다.
정답은 다음과 같습니다.
copy /b filename.ext +,,
나는 그것을 여기에서 발견했다 : /superuser/10426/windows-equivalent-of-the-linux-command-touch/764721#764721
답변
나는 여기에 얼마나 많은 대답이 틀렸는 지 놀랐다 . 파일에 아무것도 넣지 않으면 파일이와 같이 채워지고 파일 ECHO is ON
에 에코하려고 $nul
하면 문자 그대로 파일에 배치 $nul
됩니다. 또한 PowerShell의 $null
경우 파일로 에코 하면 실제로 0kb 파일이 아니라로 인코딩 된 UCS-2 LE BOM
파일이 생성되므로 파일에 바이트 순서 표시 가 없어야 하는 경우 지저분해질 수 있습니다.
여기에있는 모든 답변을 테스트하고 유사한 답변을 참조한 후에는 콘솔 셸별로 작동한다고 보장 할 수 있습니다. 그냥 변경 FileName.FileExtension
당신이 원하는 파일의 전체 또는 상대 경로에 touch
; 업데이트 해 주신 Keith Russell 에게 감사드립니다 COPY NUL FILE.EXT
:
타임 스탬프 업데이트가 포함 된 CMD
copy NUL FileName.FileExtension
이렇게하면 FileName.FileExtension
크기가 0 바이트가 아니라 배치 한 파일이 새 파일로 생성 됩니다. 파일이 이미 존재하면 기본적으로 타임 스탬프를 업데이트하기 위해 제자리에 자체 복사됩니다. 나는 이것이 1 : 1 기능보다 더 많은 해결 방법이라고 말하고 touch
있지만 다른 내용을 변경하지 않고 파일의 타임 스탬프를 업데이트 할 수있는 CMD를위한 내장 도구를 모른다.
타임 스탬프 업데이트가없는 CMD
if not exist FileName.FileExtension copy NUL FileName.FileExtension
Powershell w / Timestamp 업데이트
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file} else {(ls FileName.FileExtension ).LastWriteTime = Get-Date}
예, 콘솔 내에서 단일 라이너로 작동합니다. PowerShell 스크립트 파일에 배치 할 필요가 없습니다.
타임 스탬프 업데이트가없는 PowerShell
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file}
답변
명령 행에서 다음 명령을 사용하십시오.
fsutil file createnew filename requiredSize
다음과 같은 매개 변수 정보 :
fsutil-파일 시스템 유틸리티 (실행중인 실행 파일)
file-파일 작업을 트리거합니다
createnew-수행 할 조치 (새 파일 작성)
filename-말 그대로 파일 이름
requiredSize-작성된 파일에서 파일 크기를 바이트 단위로 할당합니다
답변
Windows Power Shell에서 다음 명령을 사용할 수 있습니다.
New-Item <filename.extension>
또는
New-Item <filename.extension> -type file
참고 : 새로운 품목은 그것의 별칭으로 대체 될 수 NI