[?]註冊檔內如何使用通用語法

顯示結果從第 1 筆 到 9 筆,共計 9 筆
  1. #1
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    [?]註冊檔內如何使用通用語法

    有些檔案在windwos或winnt資料夾內

    加入註冊檔的時候

    可以使用%SystemRoot%來取代

    (%windie%好像也可以 沒詳細測試過)

    但是放在program files 的目前測試都要寫完整名稱

    造成一些遷移上的小麻煩

    不知有沒有辦法使用類似%%的變數來達到可以變化目標的方式


    這邊有點奇怪

    以OFFICE預設安裝的方式

    是允許以下的寫法

    %ProgramFiles%\Microsoft Office\Office10\OUTLOOK.EXE

    但是當我自己要增加右鍵開啟項目__例如__以IE開啟檔案

    以下寫法

    %ProgramFiles%\Internet Explorer\IEXPLORE.EXE "%1"

    就會造成無法開啟

    會顯示存取被拒

    除非寫上

    D:\Program Files\Internet Explorer\IEXPLORE.EXE "%1"

    (我的XP預設在WINNT.sif安裝時 就指定Program Files放到D)

    謝謝


    此文章於 2008-03-29 04:55 PM 被 purk 編輯。

  2. #2
    會員
    註冊日期
    2001-02-19
    討論區文章
    629

    回覆: [?]註冊檔內如何使用通用語法

    從來不佑道這個語法,感謝分享....

  3. #3
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    批次檔範例:reg add "hkcr\txtfile\shell\open\command" /ve /t reg_expand_sz /d "%%programfiles%%\internet explorer\iexplore.exe \"%%1\"" /f
    2002.8.17 - 2024.1.9

    繪本:Ghost cemetery



    畫集:日めくり 365


    名簿:創彩少女庭園

  4. #4
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    回覆: [?]註冊檔內如何使用通用語法

    琥珀兄

    這是我的reg

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\*\shell\OpenInIE]
    @="使用Internet Explorer開啟"

    [HKEY_CLASSES_ROOT\*\shell\OpenInIE\Command]
    @="%ProgramFiles%\\Internet Explorer\\iexplore.exe \"%1\""


    如果使用變數的話

    會造成無法用右鍵開啟文件

    會顯示存取被拒

    以上

    謝謝

  5. #5
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    要用可擴展字串值,不能用一般的字串值。用指令做一個,重新編輯內容,匯出 reg 檔案。



  6. #6
    會員 threesecond 的大頭照
    註冊日期
    2005-10-26
    所在地區
    ADSL3M
    討論區文章
    541

    回覆: [?]註冊檔內如何使用通用語法

    我剛剛測試了一下,用
    "%ProgramFiles%\Internet Explorer\iexplore.exe" "%1"
    會出現存取被拒,用
    "C:\Program Files\Internet Explorer\iexplore.exe" "%1"
    則正常。
    匯出登錄檔則是長成這樣:
    語法:
    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\*\shell\Open in IE\command]
    @="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" \"%1\""
    我也很想知道能否用環境變數達成這個目的?

  7. #7
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    需要展開的變數,一律用 reg_expand_sz 就是了。用 reg_sz 是不會展開任何環境變數的。

    坦白地說,reg_sz 就是用來存放靜態的字串,那些 %windir% 什麼的名稱,在此不叫變數。

  8. #8
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    回覆: [?]註冊檔內如何使用通用語法

    琥珀兄

    我使用這樣匯入

    reg add "hkcr\*\shell\OpenInIE2\command" /ve /t reg_expand_sz /d "%%programfiles%%\internet explorer\iexplore.exe \"%%1\"" /f


    匯入成功後

    regedit後看到的是

    %D:\Program Files%\internet explorer\iexplore.exe "%%1"

    匯出是長成這樣

    [HKEY_CLASSES_ROOT\*\shell\OpenInIE\command]
    @=hex(2):25,00,44,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
    00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,69,00,6e,00,74,00,65,00,72,00,\
    6e,00,65,00,74,00,20,00,65,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,5c,\
    00,69,00,65,00,78,00,70,00,6c,00,6f,00,72,00,65,00,2e,00,65,00,78,00,65,00,\
    20,00,22,00,25,00,25,00,31,00,22,00,00,00


    實際使用上

    一樣'存取被拒'

    謝謝

  9. #9
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    先在批次檔裡面寫好,再執行。

    直接鍵入指令執行,有兩個地方要注意。一個是 % 不用重複,另一個是捨棄 %programfiles% 變數,不然 cmd 會自動轉換一次,變成如上述的情形,而用批次檔模式執行就不會有這個問題。


類似的主題

  1. [?]inf檔內如何使用通用語法
    作者:purk 所在討論版:-- Windows 討 論 版
    回覆: 1
    最後發表: 2008-04-30, 09:25 AM
  2. 如何使用javascript的語法自動將網頁導向指定的URL?
    作者:yi 所在討論版:---- 電 腦 / 網 路 軟 體 精 華 區
    回覆: 1
    最後發表: 2001-12-19, 03:10 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •