WindowsのバッチファイルにUnixシェルスクリプトを変換しますUNIXで動作しますが、私は、Windowsのバッチファイル(.BAT)に変換したいのですが、私はシェルスクリプト(.SH)を持っている
cat >flog.ctl <<_EOF
LOAD DATA
INFILE '$1.log' "str ';'"
APPEND INTO TABLE flog
fields terminated by '=' TRAILING NULLCOLS
(
filename constant '$1'
,num char
,data char
)
_EOF
sqlldr <username>/<password>@<instance> control=flog.ctl data=$1.log
Iバッチファイルであまり知識がありませんが、答えが完全な解決策ではなくいくつかのヒントであれば、私は迷ってしまうでしょう。これは別の質問hereへの回答を助けるためです。
@ voithosのコードで使用されている「%1%」と「%1」の違いはありますか?私は両方をテストして両方の作業をしました。 –
@ JohnDoyle:2番目の%は必要ありません。私はJamesがバッチファイルで変数を区切るために2つの記号を使用することに慣れているかもしれないと思う[ここに示すように](http://www.tech-recipes.com/rx/630/using-variables-in-windows-batch-files /)。しかし、私が知る限り、コマンドラインの引数を参照する "正しい"方法は、[単一の%を使う](http://www.computerhope.com/batch.htm#02)です。 – voithos
こんにちは、@ジョンドイル。いずれの方法も他の方法よりも正しい方法ではありません。展開時に特別な扱いを受けるので、引数変数0-9を1つの%で参照することは常に可能です。なぜなら、名前付き変数を使うとき、 'ECHO%Asometext%B'は間違った出力を持ち、' ECHO%A%sometext%B% 'はそうでないからです。それはしばらく試してみると、私は何を意味するかを確認します。 – JamieSee