ซ่อน dotfiles ใน Windows


26

มีวิธีให้ Windows ซ่อนไฟล์ใด ๆ ที่เป็นจุดนำหน้าโดยอัตโนมัติหรือไม่ (เช่น ".svn") ตามที่ใช้ใน Linux

คำตอบ:


19

หลังจากปัญหาบางอย่าง (คำสั่ง attrib ไม่อนุญาตให้ใช้สัญลักษณ์เสริม) ฉันมาด้วยบรรทัดนี้:

@for %%X in (.*.*) do attrib +h %%X

เพียงแค่วางเป็นไฟล์แบทช์ (.bat) แล้วมันก็จะทำการหลอกลวง (สำหรับไดเรกทอรีนั้น)

หากคุณต้องการสิ่งนี้เพียงไม่กี่ทิศทางให้ตั้งค่าให้เรียกใช้วันละครั้งในไดเรกทอรีนั้น

หวังว่านี่คือสิ่งที่คุณต้องการ


5
ถ้าคุณต้องการที่จะทำไดเรกทอรีเพิ่มบรรทัดที่สอง@for /d %%X in (.*.*) do attrib +h %%X
Brian B

คุณสามารถเรียกใช้โดยตรงจาก cmd เพียงแค่ cd ไปที่โฟลเดอร์ parent ที่คุณต้องการแล้วเรียกใช้โดยไม่มีเปอร์เซ็นต์สองเท่าเพียงครั้งเดียว:> @ สำหรับ / D% X ใน (. *) ทำสิ่งนี้ + h% X
Sergio Abreu

คำตอบที่ดีที่สุดที่ฉันได้พบ
roberto tomás

6

การใช้ Powershell บันทึกสิ่งต่อไปนี้ในไฟล์สคริปต์ (เช่น hidedotfiles.ps1) และเรียกใช้เมื่อใดก็ตามที่คุณไม่ต้องการซ่อนไฟล์ดอท

แน่นอนหนึ่งซับต่อไปนี้สามารถทำให้ง่ายขึ้นโดยใช้นามแฝงและ "-f สำหรับ" -force "และ" -r "สำหรับ" -recurse "แต่เพื่อให้คำแนะนำฉันได้เขียนไว้ในแบบเต็ม:

Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)

โดยทั่วไป Get-ChildItem -recurse -force จะได้รับรายการทั้งหมดและค้นหาซ้ำในโฟลเดอร์ทั้งหมดที่บังคับให้รายการที่ซ่อนอยู่ปรากฏขึ้น จากนั้นเราจะค้นหาไฟล์และโฟลเดอร์ที่เริ่มต้นด้วยจุดและเลือกเฉพาะไฟล์ที่มีแอตทริบิวต์ที่ซ่อนอยู่ หลังจากที่เราได้แสดงรายการไฟล์ทั้งหมดที่เราตั้งค่าคุณลักษณะของพวกเขาเพื่อซ่อนโดยใช้ Set-ItemProperty


1
ทั้งWhere-ObjectและSet-ItemPropertyไม่จำเป็น มันก็สามารถทำได้เช่นGet-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }กัน
Tom A. Vibeto

4

ในการซ่อนจุดไฟล์ / ไดเรกทอรีทั้งหมดบนดิสก์ (แทนที่จะอยู่ในไดเรกทอรีเดียว) ฉันพบว่าคำตอบนี้ใช้ได้ดีที่สุด:

ATTRIB +H /s /d C:\.*

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