2016-05-27 8 views
0

私はajaxMinfierを実行し、cssとjqueryを圧縮するバッチファイルを持っています。 xmlファイルは相対パスを使用します。現在はすべてWindows 7で動作していましたが、最近はWindows 10にアップグレードしてバッチファイルが失敗しています。 バッチファイルをダブルクリックすると、同じフォルダ内のxmlファイルが見つからない場合があります。Windows 10のアップグレードでバッチファイルが機能しない

私は常に、バッチファイルでajaxMinifierへの完全なパスを与え、それは結構です

compress.bat 
css.xml 
jquery.xml 

このように私はそれらを持っています。それは実行されていますが、私のXMLのファイルに相対パスを与えます。その理由は、私は異なる段階で複数のウェブページのコピーを持っているからです。

私がコマンドラインを使用してバッチファイルを実行すると、すべて動作しますが、私はバッチファイルを実行しているフォルダにあります。ウィンドウ内のバッチファイルをクリックすると、バッチファイルと同じ場所にあるxmlファイルも見つからなくなります。

私は最後に一時停止を入れました。その理由は、バッチファイルの場所ではなく、C:で自分のxmlファイルを探しているからです。

はここで一時停止は通常、コメントアウトされた私のバッチファイル

::Work 
E:\Utilities\AjaxMinifier\AjaxMinifier.exe -JS -CLOBBER -xml jquery.xml 
E:\Utilities\AjaxMinifier\AjaxMinifier.exe -CSS -CLOBBER -xml css.xml 


pause > nul 

ですが、私は何が起こっているかを確認する必要があります。

とここに私のcss xmlファイルである

<root> 
<output path="..\httpdocs\css\min\my.css"> 
    <input path="..\httpdocs\css\raw\buttons.css"/> 
    <input path="..\httpdocs\css\raw\menustyles.css"/> 
    </output> 
</root> 

と私のjqueryのxmlファイル

<root> 
    <output path="../httpdocs\js\min\mutual.js"> 
    <input path="../httpdocs\js\raw\table_scroll.js"/> 
    <input path="../httpdocs\js\raw\mutual.js"/> 
    <input path="../httpdocs\js\raw\menudrop\menu_jquery.js"/> 
    </output> 
</root> 

誰もが、それはダブルクリックして、同じフォルダ内のXMLファイルをロードさせる方法を教えてもらえますバッチファイル?固定パスは使用できません。

+0

バッチファイルが存在するフォルダに作業ディレクトリを変更する 'cd/d%\ dp0'があります。 (バッチファイルをダブルクリックすると、作業ディレクトリは '%windir%\ system32'です) – Stephan

答えて

2

cd /d %~dp0バッチファイルが存在するフォルダに作業ディレクトリを変更します。 (バッチファイルをダブルクリックすると、作業ディレクトリは%windir%\system32

0

ありがとうStephan。私はあなたをupvotedだろうが、あなたのコメントの横に矢印がありません。だから私はできなかった。回答ではなくコメントを追加したかどうかはわかりません。しかし、あなたが正しく答えると、あなたが最善の答えを与えたときに私はあなたにアップボトルをします。

あなたの答えはそれ自身のものでは機能しませんでしたが、正しい答えに私を導きます。あなたが追加したラインは正しいものでしたが、別のラインが必要でした。

setlocal 
cd /d %~dp0 
+0

' setlocal'は理由ではありません。私のコメントに誤字がありました( '%〜dp0'の代わりに'%\ dp0')おそらく、2番目のバージョンでそれを直感的に修正しました。 – Stephan

+0

あなたはかなり正しいです。私はsetlocalを削除し、それはまだ動作します。ところで、それは直感ではありませんでした。あなたの答えに基づいて私はいくつかのグーグルをしてコードを思いついたが、私に間違った答えを与えていなければ正解を見つけられなかっただろう。とにかく親切です。 –

関連する問題