(linux touch 명령어와 같이) 윈도우의 명령줄에 빈 파일 만들기
윈도우즈 시스템에서 이 오류가 발생함
'touch'는 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.
Linux 전용인 것처럼 보이는 다음 지침을 따르고 있었지만 표준 Windows 명령줄에서는 다음과 같이 작동하지 않습니다.
touch index.html app.js style.css
Linux / macos / unix world의 'touch' 명령에 해당하는 창이 있습니까? 이런 종류의 명령을 실행하려면 이러한 파일을 손으로 생성(및 타임스탬프를 변경하도록 수정)해야 합니까?노드와 함께 작업하고 있습니다. 별로...노드 같은...
cmd와 같은 Windows 명령줄에서 touch 명령을 쉽게 대체할 수 있는 방법은 다음과 같습니다.
type nul > your_file.txt
바면 0이생다니그에 됩니다.your_file.txt
java.
이 방법은 윈도우즈 배치 파일에서도 사용할 수 있는 좋은 솔루션입니다.
다른 방법은 echo 명령을 사용하는 것입니다.
echo.> your_file.txt
echo - 빈 줄이 하나 있는 파일을 만듭니다.
해야 할 에는 파일내하경는을 합니다.>>
에 >
> Creates a new file
>> Preserves content of the file
예
type nul >> your_file.txt
호출 명령을 사용할 수도 있습니다.
상위 배치 프로그램을 중지하지 않고 다른 배치 프로그램에서 한 배치 프로그램을 호출합니다.호출 명령은 레이블을 호출 대상으로 수락합니다.
예:
call >> your_file.txt
또는 WSL(Windows Subsystem for Linux)을 설치하기만 하면 됩니다.그런 다음 입력합니다.
wsl touch
또는
wsl touch textfilenametoedit.txt
따옴표는 필요하지 않습니다.
에는기본적않포다가 포함되어 있지 .touch
지휘권
사용 가능한 공용 버전을 사용하거나 사용자 고유 버전을 사용할 수 있습니다.이 코드를 다음으로 저장touch.cmd
의 길 . 리고당길그어그배것치다니합을에가딘신의다▁and▁in배니합치.
@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
지정된 확장명을 가진 파일을 현재 폴더에 만듭니다.
업데이트:
빈 파일의 경우: NUL 파일 이름을 복사합니다.txt
윈도우즈 PowerShell에서 다음 명령을 사용할 수 있습니다.
New-Item <filename.extension>
또는
New-Item <filename.extension> -type file
참고: 새 항목은 별칭 ni로 대체할 수 있습니다.
정답이 틀렸습니다. 파일이 없는 경우에만 작동합니다.파일이 존재하는 경우 첫 번째를 사용하면 아무 작업도 수행되지 않고 두 번째를 사용하면 파일 끝에 줄이 추가됩니다.
정답은 다음과 같습니다.
copy /b filename.ext +,,
여기서 찾았습니다: https://superuser.com/questions/10426/windows-equivalent-of-the-linux-command-touch/764721#764721
저는 여기서 얼마나 많은 답들이 단지 틀리는지 놀랍습니다.파일에 아무 것도 반향하지 않는 것은 파일을 다음과 같은 것으로 채웁니다.ECHO is ON
그리고 반향을 일으키려고 노력하는 것.$nul
말 그대로 파일에 저장됩니다.$nul
의안에일파. PowerShell의 경우 로, PowerShell, 에코$null
것은 파일을 , 로실제로파일을 0kb만들않만겠, 과같인된것딩코이로 인코딩된 것.UCS-2 LE BOM
파일에 바이트 순서 표시가 없는지 확인해야 할 경우 파일이 지저분해질 수 있습니다.
여기에 나와 있는 모든 답변을 테스트하고 유사한 답변을 참조한 후 콘솔 셸별로 작동할 것임을 보장할 수 있습니다. 바꿔요 ㅠㅠㅠㅠㅠFileName.FileExtension
또는 "" " " " " 를 지정합니다.touch
키스 러셀 덕분에COPY NUL FILE.EXT
업이트:
CMD(타임 스탬프 업데이트 포함)
copy NUL FileName.FileExtension
이렇게 하면 새 파일이 생성됩니다. 이름은 다음과 같습니다.FileName.FileExtension
바이트의 크기로.파일이 이미 존재하는 경우 기본적으로 파일 자체를 복사하여 타임스탬프를 업데이트합니다.이는 1:1 기능보다는 해결 방법에 가깝습니다.touch
그러나 다른 내용을 변경하지 않고 파일의 타임스탬프를 업데이트할 수 있는 CMD용 내장 도구에 대해서는 잘 모릅니다.
타임스탬프 업데이트가 없는 CMD
if not exist FileName.FileExtension copy NUL FileName.FileExtension
타임스탬프 업데이트가 있는 Powershell
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 - 생성된 파일에서 파일 크기를 바이트 단위로 할당합니다.
컴퓨터에 npm을 설치합니다.
명령 프롬프트에서 다음 명령을 실행합니다.
npm install touch-cli -g
이제 touch cmd를 사용할 수 있습니다.
다음 명령을 사용하여 터치 기능을 복제할 수 있습니다.
$>>filename
일은 이이하것다음같과은프것다시입라는 하는 것입니다.$
하지만 만약에$
존재하지 않거나 출력을 생성하는 실행 파일이 아니므로 출력이 생성되지 않습니다.기본적으로 기능에 대한 해킹이지만 다음과 같은 오류 메시지가 표시됩니다.
내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.
오류 메시지를 표시하지 않으려면 다음 두 가지 작업 중 하나를 수행할 수 있습니다.
type nul >> filename
또는:
$>>filename 2>nul
그type
명령은 null의 내용을 표시하려고 합니다. null은 읽을 때 EOF(파일 끝)만 반환합니다.
2>nul
오류 출력(출력 2)을 null로 보냅니다(쓰기 시 모든 입력을 무시함). 두 입니다.2>nul
는 에 됩니다.type
명령을 입력하는 것이 더 빠르기 때문입니다.하지만 적어도 당신은 선택권과 지식을 가지고 있습니다.
전술한 바와 같이
echo >> index.html
모든 확장자를 가진 모든 파일이 될 수 있습니다.
notepad index.html
그러면 메모장 편집기에서 파일이 열립니다.
없음 - 령없음없 - 음다둘명type
도 아니다echo
Windows Powershell 터미널에서 Unix/Mac OS X의 'touch' 명령을 에뮬레이트하는 데 필요합니다.다음의 속기를 사용하면 됩니다.
$null > filename
현재 위치에 'filename'이라는 이름의 빈 파일이 생성됩니다.필요한 파일 이름 확장자를 사용합니다(예: '.txt').
출처: https://superuser.com/questions/502374/equivalent-of-linux-touch-to-create-an-empty-file-with-powershell (댓글 보기)
의 우간단버경우의전.touch
이것은 주로 현재 디렉터리에 0바이트 파일을 만드는 데 사용될 것이고, 대안은 다음을 만드는 것입니다.touch.bat
을 저장하고 에 합니다.%Path%
▁the로 하는 것.C:\Windows\System32
디렉터리, 다음과 같은 것:
터치 배트
@echo off
powershell New-Item %* -ItemType file
단일 파일 생성
C:\사용자\이름\데스크탑>a.txt를 누릅니다. 디렉터리:C:\사용자\사용자 이름\데스크탑 모드 마지막 쓰기 시간 길이 이름---- ------------- ------ -----a------ 2020-10-14 오후 10:28 오전 0시 txt.
여러 파일 만들기
C:\사용자\이름\데스크탑>"b.txt,c.txt"를 누릅니다. 디렉터리:C:\사용자\사용자 이름\데스크탑 모드 마지막 쓰기 시간 길이 이름---- ------------- ------ -----a------ 2020-10-14 오후 10:52 b.txt-a------ 2020-10-14 오후 10:52 c.txt
또한.
- PowerShell 및 명령 프롬프트 모두에서 작동합니다.
- 기존 하위 디렉터리와 함께 작동합니다.
- 파일이 이미 있는 경우 파일을 만들지 않습니다.
새 항목 : 파일 'C:\Users\사용자 이름\데스크탑\a.txt'이(가) 이미 있습니다.
- 여러 파일의 경우 존재하지 않는 파일만 만듭니다.
- 공백 없이 쉼표로 구분된 파일 이름 목록을 사용하거나 공백이 필요한 경우 따옴표로 묶습니다.
C:\사용자\이름\데스크탑>d.txt,e.txt,f.txt를 누릅니다.C:\사용자\Name\Desktop > "g.txt, '이름에 공백이 있습니다.txt'"
윈도우즈 명령 창(cmd.exe)에서 copy con [filename]을(를) 사용할 수도 있습니다.
C:\copy con yourfile.txt [enter]
C:\CTRL + Z [enter] //hold CTRL key & press "Z" then press Enter key.
^Z
1 Files Copied.
라는 이름의 파일이 생성됩니다.yourfile.txt
로컬 디렉토리에 있습니다.
사용합니다cmder
(명령줄 에뮬레이터)
윈도우즈 시스템 내에서 모든 리눅스 명령을 실행할 수 있습니다.
https://cmder.net/ 에서 다운로드할 수 있습니다.
정말 좋아해
Windows 10의 Visual Code Studio 터미널에서는 다음과 같이 새 파일을 만들었습니다.
type > hello.js
echo > orange.js
ni > peach.js
Raghuveer가 답변에서 지적했듯이,ni
는 PowerShell 칭입다의 입니다.New-Item
에서 PowerShell을 사용하여 할 수 .ni
촉감 대신에
입하려 경우는을 입력하는 것을 touch
에 ni
설정할 수 있습니다.touch
PowerShell New-Item
smdlet.
Windows PowerShell에서 터치 명령 만들기:
PowerShell 프롬프트에서 새 별칭을 정의합니다.
Set-Alias -Name touch -Value New-Item
이제 터치 명령은 예상한 것과 거의 동일하게 작동합니다.유일한 차이점은 파일 목록을 쉼표로 구분해야 한다는 것입니다.
touch index.html, app.js, style.css
이렇게 하면 PowerShell의 별칭만 설정됩니다.PowerShell을 사용하지 않는 경우 WSL을 설정하거나 Windows용 bash를 사용할 수 있습니다.
안타깝게도 PowerShell 세션을 종료하는 즉시 별칭이 잊혀집니다.별칭을 영구적으로 만들려면 해당 별칭을 PowerShell 사용자 프로필에 추가해야 합니다.
PowerShell 프롬프트에서 다음을 수행합니다.
notepad $profile
프로필에 별칭 정의를 추가하고 저장합니다.
PC에 Cygwin을 설치한 경우 Windows 명령 프롬프트를 통해 제공된 실행 파일을 터치로 간단하게 사용할 수 있습니다.
C:\cygwin64\bin\touch.exe <file_path>
파일이 존재하고 타임스탬프만 업데이트하면 된다고 가정합니다.
type test.c > test.c.bkp && type test.c.bkp > test.c && del test.c.bkp
사용하다rem. > file.txt
("rem" 명령에 부착된 도트 포함)
빈 됩니다.
가능한 최단 바닐라 용액은 다음과 같습니다.
.>myfile.txt
오류가 발생하지만 파일이 생성됩니다.
PowerShell을 사용하여 다음을 입력합니다.ni index.html
또는ni style.css
또는ni app.js
ni <filename>.<extension>
VS Code를 사용하는 경우 명령줄 도구가 있습니다. code
VS Code에서 존재하지 않는 파일을 여는 데 도움이 됩니다.
다른 모든 답변에 뭔가가 누락되어 있습니다. 버전touch
명령어에 다음과 같습니다.-t
마지막으로 수정한 시간을 현재 시간뿐만 아니라 임의의 날짜 및 시간으로 설정할 수 있는 옵션입니다.
수정 됩니다.filename.txt
자정 에.2012년 12월 12일 20분에.
touch -t 201212210030 filename.txt
윈도우즈에서 동등한 기능을 사용하려면 PowerShell에 있어야 합니다. 이 기능은 Cmd에서 수행할 수 없습니다.
- 이름이 지정된 파일의 작성 날짜/시간 스탬프 변경
filename.txt
:
(Get-Item "D:\Test\filename.txt").CreationTime=("21 December 2012 00:30:00")
- 이름이 지정된 파일의 마지막 쓰기 날짜/시간 스탬프 변경
filename.txt
:
(Get-Item "D:\Test\filename.txt").LastWriteTime=("21 December 2012 00:30:00")
- 이름이 지정된 파일의 마지막 액세스 날짜/시간 스탬프 변경
filename.txt
:
(Get-Item "D:\Test\filename.txt").LastAccessTime=("21 December 2012 00:30:00")
Ubuntu와 같은 적절한 배포자가 있는 WSL이 있는 경우 bash 터미널뿐만 아니라 CMD에서 touch 명령을 사용할 수 있습니다.Windows 10 및 11 Windows 터미널에서 작동합니다.
간편한 txt 파일 예제
echo $null >> filename.txt
네, 터치용 노드를 사용할 수 있습니다. Windows Cmd 또는 gitbash에서 사용하면 됩니다.
사용하다type
에 touch
type YOUR_FILE_NAME
그러나 파일은 하나로 제한됩니다.
언급URL : https://stackoverflow.com/questions/30011267/create-an-empty-file-on-the-commandline-in-windows-like-the-linux-touch-command
'sourcecode' 카테고리의 다른 글
Git에서 단계별 변경 사항만 저장하는 방법은 무엇입니까? (0) | 2023.05.23 |
---|---|
열거형 MongoDB 저장 (0) | 2023.05.23 |
git vim 임시 파일 무시 (0) | 2023.05.18 |
ASP.NET 웹 페이지를 로드할 때 Underscore.js에 대한 Javascript ".map" 파일이 누락됨 (0) | 2023.05.18 |
이클립스의 즉시 창 (0) | 2023.05.18 |