0

Windowsで、%〜f1パラメータを使用してファイル名を取得しようとしています。

これは、コンテキストメニューに追加した新しい音声(コマンド)から実行しています。

Windowsレジストリでは、音声は次のようにファイル名を出力するバッチスクリプトを呼び出すだけです。

`C:\script.bat %~f1`

しかし、私はこの出力を取得します:

`C:\Documents and Settings\Administrator\Desktop\%~f1`

したがって、パスは問題ありませんが、ファイル名はどうですか?!

提案?ありがとう!

4

2 に答える 2

2

コンテキスト メニュー項目がトリガーされると、それはエクスプローラー (cmd.exe ではなく) によって行われ、エクスプローラーは %~f1 を実装しません。したがって、現在の結果が得られます。

必要なのは、ファイル名全体を受け取るようにスクリプトを変更し (レジストリにはおそらく 'C:\script.bat %1' または 'C:\script.bat' のみを配置することになります)、% を使用するようにスクリプトを更新することです。 ~f1:

@echo first argument: %1
@echo filename only: %~f1
@notepad %~f1

それでは頑張ってください!

于 2009-02-17T13:59:42.307 に答える
0

変数全体を % で囲んでみてください。

C:\script.bat %~f1%

于 2009-02-17T13:52:02.093 に答える