ใครสามารถจำคำสั่งในการสร้างไฟล์ว่างใน MSDOS โดยใช้ไฟล์ BAT?
cmd.exe
คุณเป็นอย่างไร
Set-Content "your_file.txt" .gitignore -Encoding utf8
นี่เป็นกรณี ๆ ไปและบังคับให้เข้ารหัส utf8! (ฉันโพสต์สิ่งนี้เป็นคำตอบ)
ใครสามารถจำคำสั่งในการสร้างไฟล์ว่างใน MSDOS โดยใช้ไฟล์ BAT?
cmd.exe
คุณเป็นอย่างไร
Set-Content "your_file.txt" .gitignore -Encoding utf8
นี่เป็นกรณี ๆ ไปและบังคับให้เข้ารหัส utf8! (ฉันโพสต์สิ่งนี้เป็นคำตอบ)
คำตอบ:
echo. 2>EmptyFile.txt
.
ในecho.
echo 2
โดยไม่มี.
คอนโซลจะอ่าน "ECHO ปิดอยู่" การใช้echo. 2
เอาต์พุตคอนโซลเงียบอย่างมีประสิทธิภาพโดยการแสดงบรรทัดใหม่เท่านั้น
คัดลอก NUL EmptyFile.txt
DOS มีไฟล์พิเศษสองสามไฟล์ (อุปกรณ์จริง ๆ ) ที่มีอยู่ในทุกไดเรกทอรีNUL
เทียบเท่ากับ UNIX's /dev/null
: มันเป็นไฟล์เวทย์มนตร์ที่ว่างเปล่าและทิ้งทุกสิ่งที่คุณเขียนไป นี่คือรายการของคนอื่น ๆ ; CON
มีประโยชน์เป็นครั้งคราวเช่นกัน
เพื่อหลีกเลี่ยงการมีเอาต์พุตใด ๆ เลยคุณสามารถใช้
คัดลอก / y NUL EmptyFile.txt> NUL
/y
ป้องกันจากการถามคำถามที่คุณไม่สามารถมองเห็นได้เมื่อส่งออกไปcopy
NUL
copy /Y NUL
คำสั่งอาจลบเนื้อหาที่มีอยู่ หากคุณคุ้นเคยกับtouch
คำสั่งของ Unix สิ่งนี้อาจไม่ใช่สิ่งที่คุณคาดหวัง) การใช้type NUL >> emptyfile.txt
จะปลอดภัยกว่าในเรื่องนี้
CON
นอกเหนือจากที่ลิงก์ในคำตอบนี้ ใครบางคนสามารถแบ่งปันการอ่านเบา ๆ ?
type NUL > EmptyFile.txt
หลังจากอ่านโพสต์ก่อนหน้านี้สองโพสต์การผสมผสานของทั้งสองนี้เป็นสิ่งที่ฉันมา ดูเหมือนว่าสะอาดกว่าเล็กน้อย ไม่จำเป็นต้องกังวลเกี่ยวกับการเปลี่ยนเส้นทาง "1 ไฟล์ที่คัดลอก" ข้อความถึงNUL
เหมือนโพสต์ก่อนหน้านี้และมันก็ดูดีถัดจากECHO OutputLineFromLoop >> Emptyfile.txt
ที่จะตามมาในไฟล์แบทช์
เทคนิคที่ฉันรวบรวมจากคำตอบอื่น ๆ :
ทำให้ไฟล์ 0 ไบต์มีความชัดเจนและเข้ากันได้แบบย้อนหลัง:
type nul >EmptyFile.txt
แนวคิดผ่าน: ไม่ระบุชื่อ , Danny Backett , อาจเป็นอย่างอื่น, ฉันได้แรงบันดาลใจจากงานของ JdeBP
ไฟล์ 0 ไบต์เป็นอีกวิธีหนึ่งซึ่งสามารถมองย้อนกลับได้:
REM. >EmptyFile.txt
แนวคิดผ่าน: โยฮันเนส
ไฟล์ 0 ไบต์ที่ 3 มองย้อนกลับได้เหมือนกัน:
echo. 2>EmptyFile.txt
แนวคิดผ่าน: TheSmurf
ไฟล์ 0 ไบต์อย่างเป็นระบบ น่าจะใช้ได้ตั้งแต่ Windows 2000:
fsutil file createnew EmptyFile.txt 0
แนวคิดผ่าน: Emm
ไฟล์ 0 ไบต์เขียนทับไฟล์แบบอ่านอย่างเดียว
ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL
ไอเดียทาง: copyitright
บรรทัดใหม่เดี่ยว (2 ไบต์: 0x0D 0x0A
ในรูปแบบเลขฐานสิบหกหรือเขียนเป็น\r\n
):
echo.>AlmostEmptyFile.txt
หมายเหตุ: ไม่มีช่องว่างระหว่างecho
, และ.
>
แนวคิดทาง: คุณจะสะท้อนถึงบรรทัดใหม่ในไฟล์แบตช์ได้อย่างไร
แก้ไขดูเหมือนว่าคำสั่งที่ไม่ถูกต้องเปลี่ยนเส้นทางไปยังไฟล์จะสร้างไฟล์ว่าง เฮ้คุณสมบัติ! ความเข้ากันได้: uknown
TheInvisibleFeature <nul >EmptyFile.txt
ไฟล์ 0 ไบต์: คำสั่งไม่ถูกต้อง / ด้วยชื่อแบบสุ่ม (ความเข้ากันได้: uknown):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
ผ่าน: แหล่งข้อมูลที่ดีสำหรับการสุ่มโดย Hung Huynh
แก้ไข 2 Andriy M ชี้ให้เห็นถึงวิธีที่น่าขบขัน / กระตุ้นมากที่สุดเพื่อให้บรรลุสิ่งนี้ผ่านคำสั่งที่ไม่ถูกต้อง
ไฟล์ 0 ไบต์: คำสั่งไม่ถูกต้อง / วิธีขี้ขลาด (ความเข้ากันได้: ไม่ทราบ)
*>EmptyFile.txt
แนวคิดผ่าน: Andriy M
ไฟล์ 0 ไบต์มาทางที่ 4 :
break > file.txt
ความคิดผ่าน: foxidriveขอบคุณที่แสดงความคิดเห็นของดับเบิล Gras !
type nul ...
ไม่type <nul ...
จริง
NonExistentCommand <nul >EmptyFile.txt
และมันใช้ได้
break > file.txt
, อุปกรณ์ประกอบฉากfoxidrive
>>
ถ้าคุณจำเป็น "ต้องมีอยู่ แต่ไม่ควรถูกตัดทอนถ้าอยู่" (เช่น Unix touch
ไม่)
REM > empty.file
REM.
cmd จะตอบกลับด้วย "'rem' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือแบตช์ไฟล์ "
rem/
แทนการrem.
แก้ปัญหานั้น ...
หากมีความเป็นไปได้ที่ไฟล์ที่จะเขียนมีอยู่แล้วและอ่านได้อย่างเดียวให้ใช้รหัสต่อไปนี้:
ATTRIB -R filename.ext
CD .>filename.ext
หากไม่มีไฟล์อยู่ให้ทำ:
CD .>filename.ext
(ปรับปรุง / เปลี่ยนแปลงรหัสตามความคิดเห็นของ DodgyCodeException)
เพื่อกำจัดข้อผิดพลาดที่อาจเกิดขึ้น:
ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
CD
(ไม่มีนามสกุล) ในไดเรกทอรีปัจจุบันและคุณพิมพ์CD.
cmd จะตอบกลับด้วย "'CD' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือแบตช์ไฟล์ " หากคุณพิมพ์CD .
(ด้วยช่องว่างหน้าจุด) แทนมันจะทำงาน
fsutil file createnew file.cmd 0
อีกหนึ่งรายการที่จะเพิ่มในหนังสือ - สั้นและน่ารักสำหรับพิมพ์
break>file.txt
break>"file with spaces in name.txt"
คุณสามารถใช้คำสั่งแทนTYPE
COPY
ลองสิ่งนี้:
TYPE File1.txt>File2.txt
ที่File1.txt
ว่างเปล่า
type NUL>File2.txt
คุณยังสามารถใช้SET
เพื่อสร้างbyte
ไฟล์null ได้ดังต่อไปนี้
set x=x > EmptyFile.txt
หรือถ้าคุณไม่ต้องการสร้างตัวแปรเพิ่มเติมกำหนดตัวแปรที่มีอยู่ใหม่เช่น
set PROMPT=%PROMPT% > EmptyFile.txt
หรือเช่นนี้
set "PROMPT=%PROMPT%" > EmptyFile.txt
มีวิธีการไม่สิ้นสุด
คำสั่งที่เอาท์พุทอะไร:
break
cls
color
goto
pushd
popd
prompt
title
คำสั่งแปลก:
CD.
REM.
@echo off
cmd /c
START >FILE
print
คำสั่งที่ล้าสมัยสร้างไฟล์เปล่า:
print /d:EMPTY_TEXT_FILE nul
วิธีที่ง่ายที่สุดคือ:
echo. > Filename.txt
สำคัญ:
หากคุณไม่ได้ตั้งค่าการเข้ารหัสซอฟต์แวร์จำนวนมากสามารถทำลายได้ git เป็นตัวอย่างที่นิยมมาก
Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8
นี่คือตัวพิมพ์เล็กและตัวพิมพ์ใหญ่บังคับใช้ utf8!