2016-10-12 4 views
0

私の写真を自分のフォルダ構造に持っていく過程を高速化するために、バッチファイルを変換しようとしていました。この実際のバッチは私のVBScriptから呼び出されています。これは、すべてのターゲットフォルダを自分の望むやり方で作成し、コンバータを起動して、フォルダ名にかかわらず各ファイルをすべてのサブフォルダに取得します。しかし、私はそれを実行すると、私はいくつかの奇妙な結果を得る。私は誰かが私を助けることを願っています。Windowsバッチ変数一緒に詰め込む

@ECHO OFF 

REM DNGConvert.CMD 
REM Converts Raw Files to DNG Files 

REM ----------------------------- 
REM Parameters 
REM ----------------------------- 
REM 1 = Source Drive 
REM 2 = TargetFolder 

REM ----------------------------- 
REM Constants 
REM ----------------------------- 
SET RawFormats=(*.NEF,*.CR2) 
SET DNGLocation=C:\Progra~2\Adobe\DNGConv.exe -p2 -fl -d 

for /r %1 %%i in %RawFormats% do %DNGLocation% %2% " %%i" 

それは私が、コマンドラインのためにこれを取得しています実行します...

C:\Progra~2\Adobe\DNGConv.exe -p2 -fl -d d:\tempi" 

私は実際には非常に最後のものは、実際のファイル名になりたい

。私を助けることができる人はいますか?

+2

この '%2%'がこれであることを意味しましたか? '%2' – Squashman

答えて

0

Squashmanが最初の問題を呼び出しました。入力パラメータは常に%で始まり、囲まれません。したがって、%1のように、また%2

第2に、宛先フォルダについては、入力の仕方によっては必要かもしれませんが、"%~2"を使用するとよいでしょう。これは、パラメータが常に1組の引用符で囲まれることを保証します。 "%%~i"でも同じです。 for /rはそれらを返さないので、あなたのソースイメージのパスにスペースがある場合は、必ずそれらの引用符が必要になります。

関連する問題