1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsでフォルダに別名をつけるたったひとつの冴えたやりかた

Posted at

目的

「デスクトップ」や「ダウンロード」のように見た目は日本語だけど実体は英語のフォルダを作る

やることはこれだけ

  1. 名前を変えたいフォルダの中に desktop.ini を作成する
  2. フォルダに 読み取り専用ファイル属性(R) をつける (attrib +r folderpath)

動作確認したバージョン

  • Windows 10 22H2
  • Windows 11 23H2
  • Windows 2016

desktop.iniの中身

文字コードはUnicode16リトルエンディアンにします。

[.ShellClassInfo]
LocalizedResourceName=ここに別名を書く

スクリプト

Pathのフォルダを作って、AliasNameで表示されるようにするPowerShellスクリプト(関数)です。
エラー処理考えてません。Pathはフルパスがいいと思います。

function CreateFolderWithAlias {
    param(
        [parameter(mandatory=$true)]
        [string]
        $Path,
        [parameter(mandatory=$true)]
        [string]
        $AliasName
    )

    New-Item -ItemType Directory -Path $Path | Out-Null

    $desktopIniPath = Join-Path -Path $Path -ChildPath "desktop.ini"

    $desktopIniContent = @"
[.ShellClassInfo]
LocalizedResourceName=$($AliasName)
"@

    Set-Content -Path $desktopIniPath -Value $desktopIniContent -Encoding Unicode

    attrib +r $Path
    attrib +s +h $desktopIniPath
}

以下のように呼び出して使います。

CreateFolderWithAlias -Path "C:\RealName" -AliasName "フォルダ別名"

解説

公式ドキュメントにはフォルダにシステム属性をつけると書いてありますが、読み取り属性にするだけで設定反映されました。システム属性にした場合でも、エクスプローラーでF2押してフォルダ名を変更すると、勝手に読み取り属性に変わります。変更後の名前はiniに書き込まれ、フォルダ自体の名前は維持されます。desktop.iniは属性つけなくても設定反映されるようです。
https://learn.microsoft.com/en-us/windows/win32/shell/how-to-customize-folders-with-desktop-ini

雑感

調べればわかることだけれど「コンパクトにまとまっててすぐ使える」って記事が見つからなかったので作りました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?