Windowsの絶対パス表記はフォルダの住所のようなもので、他の人と「ここ」と誤解なく伝わる便利なものです。しかしWindowsにはユーザープロファイルというものがあり、人によってパスが異なる事態がでてきます。C:\Usersのフォルダです。
C:\Users の中身
C:\Users を見てみると、そのコンピュータを起動したことがあるユーザーの設定ファイルやドキュメントフォルダがあります。そのため、アプリケーションの設定ファイルを配布しようとしたときにちょっとした不便さがあります。
そしてそれを解消するためのコツがあります。
ユーザープロファイル以外の場所を指定する場合
例えばAAA.txtというファイルを、各自のc:\tempフォルダに配布しようと思ったとき
次のようなbatファイルを作成して、これを各自に実行してもらえばOKです。
copy aaa.cfg c:\temp
しかし、ユーザープロファイルはユーザーの数だけあるのでこうはいきません。
例えばアプリケーションの設定ファイルの場合、AppData\Local というフォルダを使うことが良く亜リアンス。
C:\Users\[ユーザー名]\AppData\Local
とすると、ユーザーの数だけフォルダパスがあることになります。
copy aaa.cfg C:\Users\[ユーザー名]\AppData\Local
こんな風にユーザー名の数だけbatを作る必要があるかというと
実はそうでもありません。
ユーザープロファイルを便利に指定する方法 %username%
結論
結論から言うと、これで可能です。
copy aaa.cfg C:\Users\%username%\AppData\Local
まとめ
%username%とは
%username%とは、環境変数と呼ばれるものです。
環境変数を見てみたかったら、setコマンドを打つと一覧で見ることができます。
実行してみると USERNAME という項目があり、あなたのユーザー名が表示されているはずです。
これが先に紹介した %username% です。あなたの場合はあなたのユーザー名に置き換えられ、他の人ならその人のユーザー名に置き換えて実行されるのでbatの中でこれを使えば
各ユーザー用のbatを作ることができます。
コメント