2012-01-19 7 views
0

scrapy.batファイルがある:Scrapy.bat説明

@echo off 

setlocal 

"%~dp0..\python" "%~dp0scrapy" %* 
endlocal 

は、誰かがこれが何を説明してもらえますか?特にこの行"%~dp0..\python" "%~dp0scrapy" %*

答えて

1

これはバッチ構文です。 %0は、現在のバッチファイルのパス名である最初の引数です。 〜dpはパス操作用で、ドライブとパスを意味します。実際には、フォルダーからファイル(%~dp0..)を起動し、scrapyモジュールをロードします。 %*は、バッチに渡された他の引数をスクリプトに渡すことを意味します。

+0

私は単純な例を試しました - echo%〜dp0うまくいきました!しかし、私は1 - エコー%〜dp1(または他の数字)を使用すると、それは動作しません!なぜ?? – DrStrangeLove

+0

バッチをどのように呼びますか?引数を渡さないと、それらをエコーすることができます。さらに、最初の引数がパス名でない場合は、パス拡張を使用することはできません。 –

+0

私はちょうど含まれているbatファイルをダブルクリックします:echo%〜dp0(そして一時停止)batファイルはデスクトップフォルダにあります。 – DrStrangeLove

2

あなたは主に%~dp0の意味を知りたいと思っています。 What does %~dp0 mean, and how does it work?を見てみてください(このようなことを忘れないで検索してください)。

%~dp0の意味を理解したら、残りは簡単ですが、コマンドを入力することでスペルを出すことができますechoステートメント— echo "%~dp0..\python" "%~dp0scrapy" %*。これは、バッチファイルの理解に便利なテクニックです。貧しい人の可変検査。

setlocalおよびendlocalについては、(a)helpと(b)検索の威力を試してください。