ฉันประหลาดใจที่คำตอบที่นี่ผิดเพียงใด การไม่มีอะไรสะท้อนลงในไฟล์จะเป็นการเติมไฟล์ด้วยสิ่งที่ชอบ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}
touch
มากมาย การสนทนาอื่น ๆ ที่นี่: superuser.com/questions/10426/ …และCygwin libraryเป็นชุดเครื่องมือทั่วไปของคำสั่ง Unix บน Windows