มีวิธีให้ Windows ซ่อนไฟล์ใด ๆ ที่เป็นจุดนำหน้าโดยอัตโนมัติหรือไม่ (เช่น ".svn") ตามที่ใช้ใน Linux
มีวิธีให้ Windows ซ่อนไฟล์ใด ๆ ที่เป็นจุดนำหน้าโดยอัตโนมัติหรือไม่ (เช่น ".svn") ตามที่ใช้ใน Linux
คำตอบ:
หลังจากปัญหาบางอย่าง (คำสั่ง attrib ไม่อนุญาตให้ใช้สัญลักษณ์เสริม) ฉันมาด้วยบรรทัดนี้:
@for %%X in (.*.*) do attrib +h %%X
เพียงแค่วางเป็นไฟล์แบทช์ (.bat) แล้วมันก็จะทำการหลอกลวง (สำหรับไดเรกทอรีนั้น)
หากคุณต้องการสิ่งนี้เพียงไม่กี่ทิศทางให้ตั้งค่าให้เรียกใช้วันละครั้งในไดเรกทอรีนั้น
หวังว่านี่คือสิ่งที่คุณต้องการ
การใช้ 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
Where-Object
และSet-ItemProperty
ไม่จำเป็น มันก็สามารถทำได้เช่นGet-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
กัน
ในการซ่อนจุดไฟล์ / ไดเรกทอรีทั้งหมดบนดิสก์ (แทนที่จะอยู่ในไดเรกทอรีเดียว) ฉันพบว่าคำตอบนี้ใช้ได้ดีที่สุด:
ATTRIB +H /s /d C:\.*
@for /d %%X in (.*.*) do attrib +h %%X