2013-03-07 10 views
7

を動作しません。私はこのようになりますフォルダ構造を持っている:バッチファイルに別のディレクトリからのドラッグ&ドロップを使用して

project 
    bin 
     my_program.exe 
     misc_stuff.exe 
    DROP_OVER_ME.bat 
    input_file.txt 

基本的に、私が上に入力ファイルをドラッグ&ドロップできるようにしたいですDROP_OVER_ME.batバッチファイルのファイルを開き、exeへの入力ファイルのパスを渡します。

これは私のバッチファイルは、次のようになります。

@echo off 
start bin/my_program.exe %1 
exit 

私はドラッグして、バッチファイルを介してinput_file.txtをドロップすると、すべてが正常に動作します - my_program.exeが正常に入力ファイルと実行のパスを受けました。しかし

input_file.txtは、それがバッチファイルは、Windowsが「ビン/ my_program.exe」を見つけることができません

言ってポップアップメッセージを投げる可能ドラッグ&ドロップ、プロジェクトフォルダの外に位置しています。名前を正しく入力してから、もう一度やり直してください。

バッチファイルを修正して、ファイルシステム内の任意の場所からファイルをドラッグアンドドロップできますか?

答えて

7

バッチスクリプトのような音は、からドラッグしているディレクトリとして現在の作業ディレクトリに基づいており、スクリプトを含むディレクトリではありません。 (ご希望の場合は、スクリプトにecho %cd% && pauseを追加することでこれをテストすることができます。)ファイルパスについての曖昧さを取り除くために、次のようにスクリプトを変更してみてください。

@echo off 
cd /d "%~dp0" 
start "" "bin\my_program.exe" "%~f1" 
exit /b 
+0

私はビンの\ my_program.exe」周りの引用符を削除する必要がありました'それを働かせる(それはメモ帳でテキストファイルを開いたままにした)が、それとは別に、それは完璧に働いた、ありがとう! – Michael0x2a

+0

ああ、そうです、 'start'で期待される最初のパラメータはウィンドウのタイトルです。私は 'bin \ my_program.exe'部分の前に空の引用符を追加するべきでした。私は上にそれを修正します。申し訳ありません。 – rojo

関連する問題