ใครสามารถจำคำสั่งในการสร้างไฟล์ว่างใน 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ป้องกันจากการถามคำถามที่คุณไม่สามารถมองเห็นได้เมื่อส่งออกไปcopyNUL
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!