目次
はじめに
プログラミングや自動化記事を書くときに、自分のユーザー名がコード例に混ざってしまうと困ることがあります。
たとえば、私の環境では実際のパスが C:\Users\(実際のユーザネーム)\projects
ですが、記事では C:\Users\UserName\projects
のように汎用的に書きたい。
そんなとき便利なのが、Windowsの**ジャンクション(/J)**です。
ジャンクションとは?
Windowsの mklink
コマンドにはいくつかオプションがあります。
/D
… シンボリックリンク(フォルダ/ファイル)/H
… ハードリンク(ファイルのみ)/J
… ジャンクション(フォルダ専用、同一ドライブ内限定)
ジャンクション /J
は、フォルダに対するショートカットのようなものですが、アプリやスクリプトから見ると実体と区別できないのが特徴です。
使い方(例)
「記事はすべて C:\Users\UserName\projects
で統一したい。でも実環境は C:\Users\(実際のユーザネーム)\projects
」という場合:
管理者コマンドプロンプトで以下を実行します。
mklink /J "C:\Users\UserName" "C:\Users\(実際のユーザネーム)"
これで、C:\Users\UserName\projects
を開くと、実際は C:\Users\(実際のユーザネーム)\projects
にアクセスできます。
メリット
- 記事用パスとコードの完全一致
- 読者に「自分のユーザー名に置き換えてください」と説明せず、すべて
UserName
固定で書ける。
- 読者に「自分のユーザー名に置き換えてください」と説明せず、すべて
- コピペ実行が楽
- 読者が記事のコードをコピーしても、そのまま自分の環境に合わせやすい。
- 資産の長期利用が安心
- PCを買い替えても、リンクを再作成すれば古いコードをそのまま使える。
- 互換性が高い
/J
は古いツールやバックアップソフトでも挙動が安定しやすい。
導入時の注意点
- 同名ユーザーとの衝突
実際に「UserName」というアカウントを作ると競合するので避ける。 - 親フォルダの存在
C:\Users\UserName
が存在しない場合は先に作ってからリンクを張る。 - 管理者権限が必要
C:\Users
配下は保護されているため、必ず管理者コマンドプロンプトで実行する。 - 同期サービス配下は避ける
OneDrive や Dropbox 配下のリンクは正しく扱えないことが多い。
まとめ
記事を書くときにユーザー名がバラバラだと不便ですが、**ジャンクション(/J)**を使えば C:\Users\UserName\...
で統一できます。
再作成は簡単なので、環境移行や新PC導入時も安心。
👉 「記事用のハードパスを決めて、実環境はリンクで吸収する」
これを知っているだけで、記事のわかりやすさもコード資産の再利用性も大きく変わります。