web-dev-qa-db-ja.com

Windows 7用の.regファイルの作成

.regファイルを作成しましたが、ダブルクリックするとインポートされません。

指定されたファイルはレジストリスクリプトではありません。レジストリエディター内からのみバイナリレジストリファイルをインポートできます。

.regファイルの内容は次のとおりです

[HKEY_CLASSES_ROOT\Folder\Shell\PngCrush]
@=”PNG Crush”

[HKEY_CLASSES-ROOT\Folder\Shell\PngCrush\command]
@=”E:\Programs\PNGCrush\crush.bat %1”

誰かが私を助けてくれませんか?前もって感謝します

16
Aximili

これらの引用がそのファイルでどのように終わったかはわかりませんが、それらが機能しないと思います(たぶん、Wordpressブログ)からコピーしました)。

他のものに加えて、私はそれがこのようであるべきだと思います:

[HKEY_CLASSES_ROOT\Folder\Shell\PngCrush]
@="PNG Crush"

[HKEY_CLASSES-ROOT\Folder\Shell\PngCrush\command]
@="E:\Programs\PNGCrush\crush.bat %1"
6
Der Hochstapler

これはレジストリファイルの有効な構文ではなく、ヘッダーがありません。

次の行を前に追加します:Windows Registry Editor Version 5.00

問題の可能性があるファイルをUnicodeで保存した場合は、無効な文字がないかどうかを確認してください。

35
Tamara Wijsman

私が発見したいくつかの追加情報とすべての答えをまとめるだけです。

1行目のヘッダー:Windows Registry Editor Version 5.00

  • 「CRLF」で区切られたキー間の空白行
  • スペースなしのキーブラケット
  • 二重引用符で囲まれた値
  • 16進の整数/ワード値-明らかに小文字の小文字

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg]

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg\MyKey]
"My Value"="Some String"
"My Flag or Integer"=dword:00000001

許可されているエンコーディングは、次のWindows API文字列にも対応しているようです。

  • 8ビット固定幅:Windows-1252-ISO-8859-1とほぼ同じ
  • 16ビット固定幅:UCS-2LE(リトルエンディアン)-基本的にUTF-16と同じ

注:テキストエディターがエンコードに「unicode」と言う場合、それはおそらく内部幅のWindowsと互換性のない可変幅エンコードであるUTF-8を意味します。

注2(編集):ASCIIは7ビットであり、私が使用していることがわかっているすべてのプロセッサは2ビットの累乗であるため、常に他の一部にラップされますASCII 1252のようなスーパーセット。#thingsyoulearnafteruni

8
Seth

このウェブサイトを見てください、それはこの問題で私を助けました: 「指定されたファイルはレジストリスクリプトではありません」–エンコーディングが朝を台無しにする方法

エンコーディングがあなたの朝を台無しにすることができることがわかります。 「…からのみバイナリレジストリファイルをインポートする」というメッセージを見て、「なぜこれがバイナリだと思うのですか?」と思いました。確かに。 TextPadでファイルを再度開いて、Ctrl + SまたはSaveを押すのではなく、「名前を付けて保存」を選択しました。そうすることでこのメニューが表示され、問題を強調しました。

そのとおり。私が何もしなくても、TextPadはこのファイルをUnicodeとして保存していました。 Regeditは、ANSIエンコードされた.regファイルを取得することを期待しています。そこで、エンコーディングをANSIに変更し、ファイルを保存して再度実行すると、すべてが正常に機能しました。それは私に良い20分間の欲求不満を引き起こしたので、これが他の誰かを助けることを願っています。

UTF-8-BOMとして保存したため、同じ問題が発生しました。 BOM(Byte Order Mark)なしのUTF-8である必要があります。注目に値します。

1
Paweł Walaszek

REGユーティリティ を使用して、必要に応じて、コマンドラインからレジストリを操作することもできます。

0
lrosa