
以前、以下のような質問をした者です。
<<http://oshiete1.goo.ne.jp/qa2688460.html>>
上記質問を踏まえて自分が作成したファイルは、
・ファイル名「OVERRIDE_SET.reg」
・ファイル内容
「
1行目: Windows Registry Editor Version 5.00
2行目: [HKEY_CURRENT_USER\Environment]
3行目: "OVER_RIDE"="%USERPROFILE%"
」
という内容でユーザー環境変数に
変数名:OVER_RIDE(仮名称)
変数値:%USERPROFILE%
(値には↑の文字列が入るが表示は「C:\Documents and Settings\(ユーザー名)」)
を設定できました。
しかし、
変数値が「%USERPROFILE%」では、あるソフトを動かす際にエラーになってしまいました。
手操作で変数値「%USERPROFILE%」を「C:\Documents and Settings\(ユーザー名)」と「%USERPROFILE%」が示す文字列を実際に打ち込んだところ
エラーは解消できました。
バッチファイルにて「%USERPROFILE%」の部分を、
「C:\Documents and Settings\(ユーザー名)」にするには
どうすればよいでしょうか?
実行環境はOS、WindowsXPかWindows2000を予定しています。
No.3ベストアンサー
- 回答日時:
このような感じですかね。
まぁ、あとは多少違っても解決できることと思います。
---------------------------
@echo off
setlocal
set f="c:\temp\a.reg"
for /f "tokens=3 delims=\" %%i in ("%USERPROFILE%") do set a="C:\\Documents and Settings\\%%i"
echo Windows Registry Editor Version 5.00>%f%
echo.>>%f%
echo [HKEY_CURRENT_USER\Environment]>>%f%
echo "OVER_RIDE"=%a%>>%f%
echo.>>%f%
regedit -s %f%
del %f%
endlocal
No.1
- 回答日時:
c:\temp\a.reg は適当に変えてください。
---------------
echo off
echo Windows Registry Editor Version 5.00>c:\temp\a.reg
echo.>>c:\temp\a.reg
echo [HKEY_CURRENT_USER\Environment]>>c:\temp\a.reg
echo "OVER_RIDE"="C:\\Documents and Settings\\%USERNAME%">>c:\temp\a.reg
echo.>>c:\temp\a.reg
regedit -s c:\temp\a.reg
del c:\temp\a.reg
この回答への補足
ご回答ありがとうございます。
>echo "OVER_RIDE"="C:\\Documents and Settings\\%USERNAME%">>c:\temp\a.reg
という一行について補足させて下さい。
「%USERPROFILE%」で取得する、「C:\Documents and Settings\(ユーザー名)」のユーザー名と
「%USERNAME%」で取得するユーザー名は必ずしも同じとは限りません。
Ex.
「AAA」というユーザー名でログインした後、「AAA」と重複するユーザーアカウントを作成した場合、「AAA.Group」といったように本来のユーザー名の後にドメイングループが記述されるような場合があります。
この状態から「AAA」を削除した場合「AAA.Group」が残り、
ログイン時は「AAA」(%USERNAME%の値)で入ったとしても参照するCのDocument and Settingsの直下のフォルダは「AAA.Group」(%USERPROFILE%の値)と両者の値が異なる場合があります。
よってご提示頂いた%USERNAME%を用いるのでは、
今回実施したい内容を満足できない場合があります。
説明不足で申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
開始と終了を指定して、その間...
-
DTOとEntityの差は何ですか。
-
WordでExcelデータを差込...
-
VBA内でのGetPixelを使用した時...
-
完全なセッション破棄をしたい
-
PHP4からPHP5へ移行した際、セ...
-
VB.NETからVBAマクロ(引数)を呼...
-
INIファイル
-
PHPでの画像の形式の変換
-
Worksheet_Changeについて
-
ps3で久しぶりにCDの音楽情報取...
-
C言語で地図を描きたい
-
ローカルのコンピュータ名を取...
-
ミュージックのアートワークを...
-
C#で特定LANアダプタの状態を取...
-
PLY yacc での IF 文実装
-
過去にVBAでの「シフト表の何日...
-
classの再定義エラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報