เทียบเท่ากับ Windows ของคำสั่ง Linux 'สัมผัส'?


175

คุณใช้อะไรเมื่อคุณต้องการอัปเดตฟิลด์ที่แก้ไขวันที่ของไฟล์บน Windows

  1. คำสั่งที่สามารถเข้าถึงได้ผ่าน C ++, .NET, C #, หรือบางอย่างที่เป็นของ Windows (ควรเป็น Vista)
  2. เครื่องมือ / แอปพลิเคชั่นนั้นฟรีและควรเป็นโอเพ่นซอร์สเช่นกัน

แก้ไข: มีหน้าสำหรับแอปพลิเคชันที่ระบุโดย CheapScotsman อยู่ที่นี่แล้ว

หากใครรู้ว่าฉันสามารถทำสิ่งนี้ผ่าน C ++, C #, WSHหรืออะไรที่คล้ายกันดีและดีฉันคิดว่าทุกอย่างอื่นจะครอบคลุมอยู่ในคำถามที่เชื่อมโยง


สี่ตัวเลือกที่กล่าวถึงข้างต้นและอีกสี่ที่ไม่ได้กล่าวถึงที่นี่สามารถพบได้ในคำตอบของคำถามที่คล้ายกัน: "Windows Recursive Touch Command"
JdeBP

stackoverflow.com/questions/210201/… กล่าวถึงการโหลดรวมถึงREM.>a
barlop

คำตอบ:


356

หากคุณต้องการสัมผัสการประทับวันที่ของไฟล์โดยใช้ windows ให้ใช้คำสั่งต่อไปนี้ที่คอมมานด์พรอมต์:

copy /b filename.ext +,,

( filename.extชื่อไฟล์ของคุณอยู่ที่ไหน) +,,เป็นธงพิเศษเพื่อcopyบอกให้เพียงแค่อัปเดตวันที่ / เวลาที่ไฟล์ :

* การเปลี่ยนเวลาและวันที่ของไฟล์

หากคุณต้องการกำหนดเวลาและวันที่ปัจจุบันให้กับไฟล์โดยไม่แก้ไขไฟล์ให้ใช้ไวยากรณ์ต่อไปนี้:

copy /b Source+,,

เครื่องหมายจุลภาคระบุการละเว้นพารามิเตอร์ปลายทาง

แก้ไขตามความคิดเห็นโดย Lumi และ Justin:ใส่สิ่งนี้ลงในไฟล์แบทช์เช่น touch.cmd

@COPY /B %1+,, %1

สิ่งนี้ใช้ได้แม้ว่าไฟล์จะไม่อยู่ในไดเรกทอรีปัจจุบัน (ทดสอบบน Windows 7)


46
กำลังทำอะไรอยู่ เอกสารอยู่ที่ไหน (Google ไม่สามารถจัดทำดัชนี "+ ,," และไซต์ MS ไม่ได้นำฉันไปในทิศทางที่ถูกต้องเนื่องจากการค้นหาใน 'คัดลอก' กลายเป็นสิ่งที่มีประโยชน์มากมาย) ฉันหมายถึงมันใช้งานได้ดีและฉันจะใช้มัน มากสำหรับรับ แต่ฉันอยากรู้
dash-tom-bang

19
เอกสารประกอบสำหรับcopy: technet.microsoft.com/en-us/library/bb490886.aspx
Joseph Hansen

14
type touch.batเป็น@echo offและบรรทัดถัดไปcopy /b %1 +,,- ใส่ลงในหรือสิ่งที่มีคุณคริปของคุณเองแล้วคุณสามารถใช้มันเหมือนC:\bin touch myfile.txt
Lumi

17
ใน Win7 สิ่งนี้จะไม่ทำงานหากคุณไม่ได้อยู่ในโฟลเดอร์ที่มีไฟล์ มันจะสร้างสำเนาในไดเรกทอรีการทำงานปัจจุบัน

6
หากคุณจำเป็นต้องทำเช่นนี้ในโฟลเดอร์ระยะไกล (เส้นทาง UNC) - คุณต้องระบุปลายทางเพื่อคำสั่งคัดลอกเช่นกัน - copy /b Source+,, Source- กรณีที่Sourceมีเส้นทางแบบเต็มไปยังแฟ้ม
จัสติน

162

ฉันใช้และแนะนำunxutilsซึ่งเป็นพอร์ต Win32 ดั้งเดิมที่มียูทิลิตี้ Unix ทั่วไปจำนวนมาก มีtouchคำสั่งในนั้น


5
เนื่องจากพอร์ต unix-to-windows เกือบทุกตัวจะไม่สามารถทำงานกับอักขระ unicode ในชื่อไฟล์นอกชุดการเข้ารหัสเป็นค่าเริ่มต้นสำหรับโปรแกรมที่ไม่ใช่ Unicode ชื่อไฟล์ทดสอบที่จะเดินทางไปทุกเครื่องมือดังกล่าว:"test тест τεστ.txt"
RomanSt

gnuwin32 มีมัน แต่แท้จริงแล้ว gnuwin32 ก็ล้มเหลวเช่นกันสำหรับตัวอักษรยูนิโค้ด
barlop

1
อัปเดตจาก 2017 ใน Windows 10 เราสามารถใช้ระบบย่อย Linux สำหรับ windows ซึ่งติดตั้งทุบตี ไม่จำเป็นต้องใช้สำหรับ cygwin, MinGW, unxutils หรือ unix บางส่วนอื่น ๆ ไปยังพอร์ต windows docs.microsoft.com/en-us/windows/wsl/install-win10
Davos

@Davos คุณลองใช้ไฟล์อื่นที่ไม่ใช่บริบทผู้ใช้ของคุณ เนื่องจากในทางเทคนิคแล้วฝั่ง userland ของ LXSS กำลังทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษ
0xC0000022L

@ 0xC0000022L ไม่แน่ใจว่าคุณหมายถึงอะไรในบริบทของtouchคำสั่ง มันเหมือนกับทุกอย่างในระบบ nix คุณสามารถทำได้หรือคุณสามารถ sudo ได้หรือคุณทำไม่ได้เพราะคุณไม่มีสิทธิ์พิเศษ
Davos

96

หากสิ่งที่คุณต้องการคือการเปลี่ยนวันที่แก้ไขไฟล์ครั้งล่าสุด (ซึ่งเป็นกรณีของฉัน):

C:\> powershell  (ls your-file-name-here).LastWriteTime = Get-Date

9
PowerShell FTW ฉันหมายถึงจริงจังยูนิกซ์เจ๋ง แต่ PS ก็เย็นกว่า
แมตต์

1
คุณสามารถอัปเดตการเขียนครั้งล่าสุดสำหรับไฟล์ / โฟลเดอร์หลายรายการได้เช่นกัน

12
จะใช้งานได้กับไฟล์เดียวเท่านั้น สำหรับหลายไฟล์: ls * | ForEach-Object {$ _. LastWriteTime = Get-Date}
Eli Algranti

2
ถ้าคุณต้องการที่จะทำซ้ำ ๆ มันใช้งานได้ดี: gci -recu -inc " . " | % {$ _. LastWriteTime = Get-Date}
BrainSlugs83

6
@ BrainSlugs83: ใช้ backticks `เพื่อรับรหัส:gci -recu -inc "*.*" | % { $_.LastWriteTime = Get-Date }
alldayremix

58
type nul >>file & copy file +,,
  • สร้างfileถ้าไม่มีอยู่
  • ออกจากเนื้อหาไฟล์เพียงอย่างเดียว
  • เพียงใช้cmdบิวด์อิน
  • ทั้งเวลาเข้าถึงล่าสุดและเวลาสร้างที่อัปเดตแล้ว

UPDATE

Gah! นี้ไม่ได้ทำงานบนไฟล์อ่านอย่างเดียวในขณะที่touchไม่ ฉันแนะนำ:

:touch
if not exist "%~1" type nul >>"%~1"& goto :eof
set _ATTRIBUTES=%~a1
if "%~a1"=="%_ATTRIBUTES:r=%" (copy "%~1"+,,) else attrib -r "%~1" & copy "%~1"+,, & attrib +r "%~1"

เป็นเรื่องน่าเสียดายที่สำเนาไม่สามารถเพิกเฉยคุณลักษณะ + r ตามที่ xcopy ทำ หรือน่าเสียดายที่ xcopy ไม่รองรับfilename +,,ไวยากรณ์แปลก ๆ
Abel

น่าเสียดายที่นี่ใช้งานไม่ได้ (อย่างน้อยก็ไม่ใช่ใน Windows 7) ดูเหมือนว่าล่ามคำสั่งจะไม่อัปเดตการประทับเวลาของปลายทางของการเปลี่ยนเส้นทางหากไฟล์ไม่ได้ถูกแก้ไขจริง ๆ (เช่นไม่มีข้อมูลที่จะเปลี่ยนเส้นทาง)
Synetech

32

@ รีบทอมปัง:

นี่คือคำอธิบายของ Technet เรื่อง '+' และเครื่องหมายจุลภาค:

คัดลอก / b แหล่งที่มา + ,,

เครื่องหมายจุลภาคระบุการละเว้นพารามิเตอร์ปลายทาง

คำสั่งคัดลอกรองรับการรวมหลายไฟล์เป็นไฟล์ปลายทางเดียว เนื่องจากไม่สามารถระบุปลายทางว่างโดยใช้อักขระเว้นวรรคที่คอมมานด์พรอมต์คุณสามารถใช้เครื่องหมายจุลภาคสองตัวเพื่อแสดงว่า

และนี่คือการอ้างอิงคำสั่งสำเนาของ Technet: http://technet.microsoft.com/en-us/library/bb490886.aspx


16
ตอนนี้มันแค่ทำให้ไวยากรณ์สับสน อย่างจริงจังพวกเขาคิดอะไรอยู่ โปรดทราบว่าเอกสารเดียวกันระบุว่า "ปลายทาง: จำเป็นต้องใช้" ... ฉันประหลาดใจ
sth

1
ดูเหมือนจะไม่ทำงานใน Vista ... ฉันสงสัยว่าพวกเขาเข้ามาในความรู้สึกของพวกเขาหรือไม่?
quillbreaker

1
ใช้งานได้ใน Windows 7
Imran

5
มันใช้งานได้สำหรับฉันแม้ไม่มีคอมม่า: copy file.ext + ดังนั้นเอกสารจึงอยู่ไกลจากพฤติกรรมที่แท้จริงเนื่องจากพฤติกรรมนั้นมาจากความคาดหวังที่สมเหตุสมผล
Abgan

2
มันทำงานใน Windows Server 2008 แต่ถ้าคุณอยู่ในโฟลเดอร์ที่มีไฟล์
FrinkTheBrave


21

นี่คือเวอร์ชันแบบเรียกซ้ำโดยใช้ powershell ... นี่จะเปลี่ยนเวลาที่แก้ไขล่าสุดสำหรับไฟล์และไดเรกทอรีย่อยทั้งหมดและไฟล์ภายในไดเรกทอรีย่อยของไดเรกทอรีนี้

ps c:myDir> Get-ChildItem . * -recurse | ForEach-Object{$_.LastWriteTime = get-date}

2
verbose น้อยลง แต่ยังใช้ชวเลข Powershell มาตรฐานเท่านั้น:ls * -recurse | % { $_.LastWriteTime = Get-Date }
Jonas

15

GnuWin32โครงการมีพอร์ตของ Windows รุ่น Gnu ของยูนิกซ์สาธารณูปโภคบรรทัดคำสั่ง

มันมาเป็นแพคเกจแยกต่างหากจำนวนมากและคุณสามารถติดตั้งเพียงคำสั่งที่คุณต้องการโดยไม่มีการพึ่งพาอื่น ๆ สำหรับtouchคุณจะต้องมีแพ็คเกจCoreUtils


15

cygwintouchมาพร้อมกับ ฉันรู้ว่าคุณพูดถึงว่าคุณไม่ต้องการติดตั้งเฟรมเวิร์กทั้งหมด แต่ cygwin มีน้ำหนักเบามากและสามารถเรียกใช้จากหน้าต่างคำสั่ง dos โดยไม่ต้องเปิดบรรทัดคำสั่งเหมือนยูนิกซ์ทั้งหมด

คุณสามารถควบคุมเครื่องมือที่จะติดตั้งได้ดังนั้นคุณสามารถติดตั้งtouch.exeไฟล์และออกจากเฟรมเวิร์กที่เหลือ


2
ถึงจุดของคุณที่นี่สิ่งที่คุณต้องติดตั้งคือไฟล์ touch.exe และ cygwin.dll ในไดเรกทอรีเพื่อใช้เครื่องมือ ไม่มีการพึ่งพาอื่นใดที่เกี่ยวข้องกับการใช้เครื่องมือที่ใช้ cygwin
เจฟฟ์ Tall

1
เมื่อฉันลองทำสิ่งนี้ (win7x64) ฉันต้องการ 4 dll cygwin นอกเหนือจาก touch.exe: cygiconv-2.dll cygintl-8.dll cygwin1.dll cyggcc_s-1.dll
แมตต์ wilkie

15

ฉันพยายามทำสิ่งนี้เพื่อสร้างไฟล์เปล่าในชุดสคริปต์ของฉัน คุณสามารถใช้สิ่งนี้:

ECHO text>file1.txt

3
นี่คือวิธีที่รวดเร็วที่สุดวิธีที่ดีที่สุด .. ฉันเพียงแค่ต้องการสร้างไฟล์. gitignore และ Windows 7 ก็ยังคงบ่นว่า "ต้องป้อนชื่อไฟล์" ฯลฯ และอื่น ๆ echo pie>.gitignoreก็ใช้การรักษาได้ - ขอบคุณ!

4
@Alex สิ่งนี้ไม่เกี่ยวข้อง แต่ข้อผิดพลาดของ windows นั้นเป็นเพราะไฟล์เริ่มต้นด้วยจุด มีการแฮ็กแปลก ๆ ใน Windows Explorer: ทำให้ไฟล์สิ้นสุดด้วยจุดหนึ่ง ดังนั้นพิมพ์.gitignore.และเมื่อคุณกด Enter Windows จะลบระยะเวลาที่ต่อท้าย บ้า แต่มันก็ใช้งานได้
Brad Cupit

1
ฉันหวังว่าฉันจะให้ upvote นี้มากพอที่จะดึงดูดผู้เล่นรายใหญ่ในความนิยม
Jonathan Mee

1
สิ่งนี้ไม่ได้สร้างไฟล์เปล่า แต่ file1.txt มี "text" อยู่ในนั้น
Joshua Meyers

14

นี่เป็น regfile ง่ายผมเขียนถึงเพิ่มคลิกขวาที่ "สัมผัส" ใน Windows Explorer มันง่ายที่จะเขียนสคริปต์ด้วยเช่นกันเนื่องจากเพิ่งเรียกใช้:

cmd.exe /c copy %1+nul %1 /by

และอย่าลืมcopy nul some_fileสร้างไฟล์เปล่า (ซึ่งเป็นสิ่งที่ฉันเห็นtouchบ่อยที่สุดใช้)
Joey

Ack! ไฟล์ Zip ไม่สามารถเข้าถึงได้ (บางอย่างเกี่ยวกับ brinkster22.com จำเป็นต้องเป็นเว็บไซต์ที่อ้างอิง) จอนคุณสามารถอัปเดตสิ่งนี้ได้ไหม
Dan7119

ทำงานบน Win7 ไม่ทำงานบน WinXP: เวลาของไฟล์ยังคงเหมือนเดิมหลังจากเรียกใช้งาน "copy"
Egor Skriptunoff


11

ลองจากนี้CodeProject

  • ไม่จำเป็นต้องติดตั้ง
  • หากคุณต้องการคุณสามารถปรับเปลี่ยนแหล่งที่มา

2
ในขณะที่ลิงค์นี้อาจตอบคำถามได้ดีกว่าที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
Yan Sklyarenko

9

คุณสามารถติดตั้งCygwinซึ่งให้ Touch และคำสั่ง * NIX อื่น ๆ มากมาย


2
ไม่สามารถอยู่บน Windows ได้หากไม่มี cygwin
jweede

และ cygwin ไร้สาระเป็นคนค่อนข้างง่อย
Ahe


5

จากคำถามที่คล้ายกันใน Stack Overflow

สำหรับการปรับปรุงการประทับเวลา (ไม่สนใจฟังก์ชั่นอื่น ๆ ของtouch) ฉันจะไปกับ:

copy /b filename.ext +,,

1
นี่คือคำตอบซ้ำ ๆ ของ Gish Domains จาก 2 ปีก่อนโดยไม่มีคำอธิบาย
fixer1234

4

วิธีการเกี่ยวกับ codeproject "Touch for Windows": http://www.codeproject.com/KB/applications/touch_win.aspx

แก้ไข; คำถามเดียวกันกับที่นี่: https://stackoverflow.com/questions/51435/windows-version-of-the-unix-touch-command/51439


ขอบคุณ ฉันพลาดสิ่งนั้นในการค้นหาของฉันซึ่งส่งผลให้มีสิ่งที่เกี่ยวข้องกับโทรศัพท์แบบทัชสกรีนมากมาย อาจต้องใช้ป้ายกำกับแท็กที่ดีกว่านี้ฉันเดาว่า
facepalmd

4

จากเว็บไซต์:

Funduc Software Touchเป็นยูทิลิตี้ 'สัมผัส' ฟรีที่ช่วยให้คุณเปลี่ยนเวลา / วันที่ & / หรือการประทับตราแอตทริบิวต์ในไฟล์อย่างน้อยหนึ่งไฟล์ นอกจากนี้ FS Touch สามารถเพิ่ม / ลบจำนวนวินาทีที่ระบุจากเวลาไฟล์ที่มีอยู่ คุณสามารถระบุไฟล์และ / หรือไดเรกทอรีย่อยที่จะเปลี่ยนผ่าน 'มาสก์ไฟล์ที่ซับซ้อน' โปรแกรมสามารถเรียกใช้จากแบบโต้ตอบหรือบรรทัดคำสั่ง ใหม่เป็นเวอร์ชัน 7.2 เป็นสวิตช์บรรทัดคำสั่งเพื่อเปลี่ยนการประทับเวลาที่แก้ไขไฟล์ +/- ตามจำนวนวินาทีที่ระบุ

FS Touch ทำงานบน Windows XP, Vista, Windows 7 และ Windows 8


4

เนื้อหานี้สามารถบันทึกลงในไฟล์ reg จะเป็นการเพิ่มเมนูบริบทคลิกขวาสำหรับไฟล์ทั้งหมดที่มีความสามารถ "Touch File" (ทดสอบบน Windows 7) คัดลอกบรรทัดต่อไปนี้ทั้งหมดไปยังไฟล์ reg เรียกใช้ไฟล์และอนุมัติคำถาม คลิกขวาที่ไฟล์ใด ๆ (หรือหลายไฟล์) - ตัวเลือก "Touch File" พร้อมใช้งานแล้ว

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\Touch File]

[HKEY_CLASSES_ROOT\*\shell\Touch File\command]
@="cmd /C copy /b \"%1\" +,,"

3

หากคุณใช้ git สำหรับโครงการหนึ่งโครงการ mingw git-bashสำหรับ Windows มีtouchคำสั่ง ฉันต้องการขอบคุณ @ greg-hewgill สำหรับการชี้ให้ฉันเห็นว่า 'มีระบบสาธารณูปโภคที่ดีสำหรับ windows เพราะเป็นสิ่งที่ทำให้ฉันมีความคิดที่จะลองใช้ git-bash


3

ใน PowerShell ลอง:

ni fileName.txt

NIเป็นนามแฝงของcmdlet รายการใหม่


1
ยินดีต้อนรับสู่ SuperUser ขอบคุณสำหรับการโพสต์! คุณสามารถเพิ่มลิงค์ไปยังเว็บไซต์ที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับniคำสั่งและอาจอธิบายเพิ่มเติมว่าคำสั่งทำอะไรได้บ้าง
hBy2Py

1
New-Itemcmdlet ไม่สามารถใช้ในการปรับปรุงการประทับเวลาของไฟล์ที่มีอยู่
เลียนแบบ Twisty

แม้ว่าจะไม่อัปเดตการประทับเวลา แต่จะสร้างไฟล์ใหม่ซึ่งเป็นสิ่งที่ระบบสัมผัส +1 จากฉัน
MikeMurko

2

บันทึกสิ่งต่อไปนี้เป็น touch.bat ในโฟลเดอร์% windir% \ system32 ของคุณหรือเพิ่มโฟลเดอร์ที่จะบันทึกลงในตัวแปรสภาพแวดล้อม PATH ของคุณ:

@echo off
if %1.==. goto end
if not exist %1 goto end
copy /b %1 +,, > nul
echo %1 touched!
:end

ตัวอย่างการใช้งาน:

touch *.cpp
touch somefile.c

ข้อมูลอ้างอิง: Microsoft KB 69581


ยอดเยี่ยม! ไม่มีสิ่งภายนอกเพียงคัดลอก และแน่นอนว่าพวกเราส่วนใหญ่ต้องการมันเป็นชุด stript :)
Bogdan Gavril MSFT

2

ฉันพบวิธีที่รวดเร็วในการทำถ้าคุณติดตั้งเป็นกลุ่ม (ไม่เหมาะสำหรับไฟล์ขนาดใหญ่จะเปิดไฟล์ทั้งหมดจากนั้นปิดมัน ... )

vim foobar.txt +wq!

"+" ตั้งค่าอาร์กิวเมนต์ให้เรียกใช้คำสั่งต่อไปนี้ "WQ!" คือ "เขียนเลิกบังคับ" นี่จะเป็นการเปิดไฟล์ทำการบันทึกแล้วปิดทันทีหลังจากนั้น


ซับซ้อนไร้จุดหมายเทอะทะและไม่พกพา -1
MD XF

2

ฉันต้องการคุณลักษณะ 'สัมผัส' ในการโคลน / ทำซ้ำวันที่ไฟล์จากไฟล์อื่นโดยกำเนิดและสามารถใช้งานได้จากไฟล์แบตช์

ดังนั้นไฟล์วิดีโอ 'ลากแล้วปล่อย' ไปยังไฟล์แบตช์ FFMPEG จะทำงานจากนั้น 'สร้างวันที่' และ 'แก้ไขวันที่' จากไฟล์อินพุตจะถูกคัดลอกไปยังไฟล์เอาต์พุต

สิ่งนี้ดูเรียบง่ายในตอนแรกจนกระทั่งคุณพบว่าไฟล์แบตช์นั้นแย่มากในการจัดการชื่อไฟล์ยูนิโค้ด PowerShell ในบรรทัดสับสนกับสัญลักษณ์ชื่อไฟล์

โซลูชันของฉันทำให้ส่วน 'touch' เป็นสคริปต์ PowerShell แยกซึ่งฉันเรียกว่า 'CLONE-FILE-DATE.ps1' และประกอบด้วย:

param
(
  [Parameter(Mandatory=$true)][string]$SourcePath,
  [Parameter(Mandatory=$true)][string]$TargetPath
)

(GI -LiteralPath $TargetPath).CreationTime  = (GI -LiteralPath $SourcePath).CreationTime
(GI -LiteralPath $TargetPath).LastWriteTime = (GI -LiteralPath $SourcePath).LastWriteTime

จากนั้นนี่คือตัวอย่างการใช้งานภายในไฟล์ชุด 'CONVERT.BAT' ของฉัน:

%~dp0\ffmpeg -i "%~1" ACTION "%~1-output.mp4"

CHCP 65001 > nul && PowerShell -ExecutionPolicy ByPass -File "%~dp0\CLONE-FILE-DATE.PS1" "%~1" "%~1-output.mp4"

ฉันคิดว่า PowerShell สามารถอ่านได้ดังนั้นจะอธิบายชุดที่พูดได้:

% ~ dp0เป็นไดเรกทอรีปัจจุบันของแบตช์ไฟล์

% ~ 1เป็นเส้นทางของไฟล์ที่ถูกส่งไปยังแบตช์โดยไม่มีเครื่องหมายอัญประกาศ

CHCP 65001> nulตั้งค่าอักขระเป็น UTF-8 และกลืนเอาต์พุต

-ExecutionPolicy ByPassช่วยให้คุณสามารถเรียกใช้ PowerShell โดยไม่จำเป็นต้องแก้ไขนโยบายส่วนกลางซึ่งมีไว้เพื่อป้องกันไม่ให้บุคคลเรียกใช้สคริปต์โดยไม่ตั้งใจ


1

ลอง

ไฟล์ fsutil สร้าง new.txt ใหม่ 0


2
The FSUTIL utility requires that you have administrative privileges.- และมันไม่ทำงานเหมือนtouchไฟล์ที่มีอยู่
Keith Thompson

1

ห้าตัวเลือกที่กล่าวถึงข้างต้นและอีกสามตัวที่ไม่ได้กล่าวถึงที่นี่สามารถพบได้ใน SuperUser: "Windows Recursive Touch Command"


2
ในขณะที่ลิงค์นี้อาจตอบคำถามได้ดีกว่าที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
Yan Sklyarenko


1

ดีถ้าคุณจริงๆต้องการให้มีtouchคำสั่งที่คุณสามารถใส่ในแฟ้มชุดที่เรียกว่าtouch.batและติดไว้ในC:\Windows:

TYPE NUL >>%1

เรียบง่ายพอสมควร


วิธีนี้จะไม่อัปเดตเวลาแก้ไขบนแพลตฟอร์มต่อไปนี้: Windows Server 2012 R2, Windows Server 2016, Windows 10
Nate

0

คน Unix แก้ไขปัญหาทั่วไปในการอัพเดตวันที่ของไฟล์ของไฟล์ใด ๆ ด้วยคำสั่งtouch อย่างไรก็ตามสำหรับ Windows บางครั้งอาจมีวิธีที่ง่ายกว่าสำหรับกรณีพิเศษ

ฉันต้องอัปเดตการประทับเวลาของทางลัดแอปพลิเคชันใน Windows 8.1 เพื่อที่จะทำการเปลี่ยนแปลงสีพื้นหลังของไทล์แอปพลิเคชันที่มองเห็นได้ให้ดูคำถาม SOนี้ แทนที่จะใช้หนึ่งในเครื่องมือที่ฉลาดด้านบนฉันพบว่าการแก้ไขฟิลด์ข้อคิดเห็นของทางลัดได้ง่ายขึ้น คนส่วนใหญ่ปล่อยให้สิ่งนี้ว่างเปล่า แต่แน่นอนว่าความคิดเห็นที่เป็นประโยชน์จะเกิดขึ้นได้อย่างรวดเร็ว และหากมีความคิดเห็นอยู่การเพิ่มหรือลบช่วงเวลาสุดท้ายจะไม่เป็นอันตราย


0

ฉันขอขอบคุณนี่เป็นคำถามเก่าฉันเพิ่งค้นพบสัมผัสกับระบบ Windows 10 ของฉัน ฉันดาวน์โหลดและติดตั้ง Git จากที่นี่ (ฉันคิดว่า) และดูเหมือนว่า touch และยูทิลิตี้อื่น ๆ อยู่ในโฟลเดอร์ bin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.