回答:
いくつかの問題の後(attribコマンドはいくつかのワイルドカードを許可しません)私はこの行を思いつきました:
@for %%X in (.*.*) do attrib +h %%X
バッチファイル(.bat)を置くだけで、そのディレクトリでのトリックが実行されます。
いくつかのディレクトリでこれが必要な場合は、そのディレクトリで1日に1回実行するように設定してください。
これがあなたが必要とするものであることを願っています。
Powershellを使用すると、スクリプトファイル(例:hidedotfiles.ps1)に以下を保存し、ドットファイルを非表示にしたくない場合に実行します。
もちろん、次の1行はエイリアスを使用して簡略化でき、「-force」には「-f」、「-recurse」には「-r」を使用できますが、参考になるように完全な形式で記述しました。
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" }
ます。
@for /d %%X in (.*.*) do attrib +h %%X