2012-03-23 16 views
1

バッチスクリプトの割り当てを行っています。ここでは、あるスクリプトを別のスクリプトから呼び出す必要があります。私は講師がこれらのスクリプトをどこに保存しても、2番目のスクリプトを実行するスクリプトが必要です。どうすればいい?スクリプトの中でスクリプトのパスを見つけて、それを使ってファイルを実行する方法がありますか?どんな助けも素晴らしいだろう。私は%sを使う必要があると思うが、わからない。 スクリプトの名前はHello World.batです。コマンドラインでファイルパスを見つける

講師がどのディレクトリに配置したのかわからない場合、Hello World.batをC:\にコピーするにはどうすればよいですかスクリプトの場所に関係なくコピーが動作するようにどのコマンドを使用しますか。

答えて

0

実行中のスクリプトがSAMEフォルダの場所にある他のスクリプトを呼び出している場合は、パス文の先頭に "%〜dp0"または "%〜dps0"を付けることができますが、その間にバックスラッシュあなたが呼び出しているスクリプト。つまり、script1.batが同じフォルダ内のscript2.batを呼び出す場合、script1.batの文は "%〜dp0script2.bat"を参照します。

+0

あなたは、これは%〜DP0 – batsta13

+0

を正確に何をするのか。この質問は%〜DP0の良い説明を持って説明することができます。http://stackoverflow.com/質問/ 1645843/batch-file-resolve-relative-path-from-relative-path-and-or-file-name – Aaron

1

「DOS」タグは表示されませんが私はそれが今のものだと仮定します。あなたは全体のパスが必要な場合は、これを行うことによって、それを得ることができます。

echo %cd% 

あなただけの最後のフォルダをしたい場合は、これは(.BATファイル内の)動作しますから、その

for %%* in (.) do @echo %%~n* 

注意をコマンドラインは、上記のコマンドは、単一の%ので動作します:

バッチファイルについては申し訳ありません
for %* in (.) do @echo %~n* 
0

、慣れていないけど、nixのシェルで、ファイルのパスを返すことができますコマンドを探しています、ファイル名がわかっていればexその名前はユニークです。

のような名前= $(filnameを見つける)

関連する問題