• 締切済み

コマンドプロンプトのバッチファイルについて教えてください

お手数ですが教えてください。 コマンドプロンプトでSQL*LORDERを起動するバッチを 作成したいのですが以下の条件がうまくいきません。 「ロードするデータ(テキストファイル)が0件(データなしの0KB) であればSQL*LORDERを起動しない」というのはどのようにすれば 解決できますか? コマンドプロンプトのSET文でTYPE文の結果を環境変数に入力することができませんでした。 また、IF文にDIRの結果を記述できませんでした。 データがない場合はSQL*LORDERを失敗させることは出来ましたが 現在入っているデータが初期化されてしまいました。 なにかいい方法はないでしょうか? よろしくおねがいします。

みんなの回答

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

ファイル名がバッチファイルに引数として与えられ、変数 %1 などにセットされていれば %~z1 でファイルサイズが取得できると思いますが。

関連するQ&A

  • コマンドプロンプトについて教えてください

    お手数ですが教えてください。 コマンドプロンプトでSQL*LORDERを起動するバッチを 作成したいのですが以下の条件がうまくいきません。 「ロードするデータ(テキストファイル)が0件(データなしの0KB) であればSQL*LORDERを起動しない」というのはどのようにすれば 解決できますか? コマンドプロンプトのSET文でTYPE文の結果を環境変数に入力することができませんでした。 また、IF文にDIRの結果を記述できませんでした。 データがない場合はSQL*LORDERを失敗させることは出来ましたが 現在入っているデータが初期化されてしまいました。 なにかいい方法はないでしょうか? よろしくおねがいします。

  • コマンドプロンプトについて

    コマンドプロンプトのコマンドで、特定のラインから終わりのラインまでの実行コマンドや実行結果をテキスト等に吐きだすことのできるのコマンドがありましたら教えて下さい。 (SQLで言うところのスプールみたいなものです。) 例 C:\>○○○ ←(開始) C:\>DIR C:\ のディレクトリ 2001/12/18 14:57 <DIR> WINNT 2002/06/26 20:26 <DIR> PrintAgent C:\>●●● ←(終了) 上の例だと、○~●の間の行がテキストに吐き出される形となります。 SQLやUNIXでは可能な操作なので、あるとは思うのですが・・・ もし、ご存知の方いましたら宜しくお願いします!

  • コマンドプロンプト、バッチファイル

    解決法を探してみたのですが、見つからないのでご教授ください。 コマンドプロンプトでどんなコマンド(ipconfig,ping,etc)を入力しても 「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」という警告が出るようになってしまいました。 多分、原因はJavaの勉強をしていたときに環境変数のパスをいじってしまったからだと思います。 調べていて、思ったことなのですが、カレントディレクトリにバッチファイル(.bat)というファイルが見当たりません。これがないからかなとも思っています。 コマンドプロンプトからのコマンド入力ができるように解決方法をご教授ください。

  • コマンドプロンプトのバッチについて

    WindowsのDOSなどのコマンド処理をするバッチファイルについて ですが、DOSからDB(OracleやSQL Serverなど)を起動させるバッチがあって、DBに入ってからSQLのコマンドなどを自動でさせるバッチって 何か方法はないのでしょうか?? DOS → DB起動後、自動でコマンドで動かしたいです。 細かくいうとWindowsのDOSではなくなるので、 動かなくなると思います。

  • コマンドプロンプトのバッチについて

    test01.bat >> YYMMDD結果.txt コマンドプロンプトのバッチ処理を実行結果をテキストで保存したいのですが、ファイル名を、 「YYMMDD結果.txt」と"YYMMDD"に本日の日にちを入れたいのですが、どのようにすればよいのでしょうか?

  • バッチファイル内のコマンドプロンプトを1つずつ実行するにはどうしたらよいでしょうか?

    はじめまして。 ご質問なんですが、バッチファイル内のコマンドプロンプトを1つずつ実行するにはどうしたらよいでしょうか? 以下にバッチファイルの中身を記述します。 kidou.bat ------------------------------------------------------- start /D "C:\Program Files\Mozilla Firefox" firefox start /D "C:\Program Files\Mozilla Firefox" firefox ------------------------------------------------------- 1つ目のfirefoxが起動してから、 2つ目のfirefoxが起動する、という形です。 わかりにくくて申し訳ないですが、よろしくお願いします。

  • Win7のコマンドプロンプトでバッチファイル自動終了は?

    Win7のコマンドプロンプトでバッチファイル自動終了は? Windows7上でバッチファイルを実行させます。 このとき、バッチファイルの中身は、Skypeの起動です。 Skype起動はするのですが、コマンドプロンプトの画面は開いたままです。 そして、Skypeを終了(システムトレイから完全終了)させると、コマンドプロンプトも閉じます。 Skype起動中にコマンドプロンプトを手動で終了させても大丈夫なのですが、いちいち面倒です。 なにかいい手はありませんか? ちなみに、なぜ、バッチファイルでSkypeを起動させるかというと、USBメモリーとかでSkypeを持ち運ぶためです。 バッチファイルの中身です。 Skype.exe /datapath:"DataFile" /removable バッチファイルは「Skype.exe」と同じディレクトリにあります。 ショートカットで作れば問題ないのですが、そうすると、USBのドライブレターが変わった時に対応できなくなるので、相対ディレクトリ指定のできるバッチファイルで起動をさせています。

  • コマンドプロンプトで「ls」が認識されません!

    検索しても回答が得られなかったので、質問させていただきます。 環境変数をいじったあとで、 アクセサリ→コマンドプロンプトで起動はできますが、「ls」と入力しても 「lsは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 と出てきて、lsコマンドが使えません。 環境変数をいじる前は、できていました。 「cd」,「dir」のコマンドは使用可能です。 システム環境変数で 変数名 ComSpec 変数値 %SystemRoot%\system32\cmd.exe はあります。 OSはXPです。 何が原因か分からないので、どなたか分かる方がいましたら、ご回答お願いします。

  • VBAでコマンドプロンプトを呼び出す記述で

    やりたいことはVBAからコマンドプロンプトにてBCP.EXEを呼び出してSQL文を実行することです。 コマンドプロンプトで直接打つと以下のようなコマンドになります。SQL文は長いので省略しました。 ************************* "c:\WINNT\system32\cmd.exe /k" "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " "SQL文" ************************* これをVBAで以下のように記述しました。 ////////////////////////////////////////////////// stAppName = "c:\WINNT\system32\cmd.exe /k" stAppName = stAppName & "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " stAppName = stAppName & "SQL文" Call Shell(stAppName, 1) ///////////////////////////////////////////////// 上のような記述だとコマンドプロンプトでは パスのダブクォテーションがなくなり ************************* c:\WINNT\system32\cmd.exe /k C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe ”SQL文” ************************* のように実行されBCP.exeのパスが通らず以下のエラーになります。 ///////////////////////////////////////////////// 内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ///////////////////////////////////////////////// どなたかVBAでコマンドのパスにダブルクォテーションをつける方法を教えてください。

  • コマンドプロンプトで2つのサイトを開くバッチ

    タイトル通りなのですが、わかるかたいましたら教えていただきたいのです。 コマンドプロンプトでバッチファイルを作成するのですが、 バッチファイルを実行すると、 IEのヤフー(www.yahoo.co.jp)とGoogle(www.google.co.jp)を同時に二つ開く(ふたつのIEを開くより、タブで開ければなおいいです。) のファイルを作りたいのですが、どういう記述をしたらよいのでしょうか? わかる方いましたら教えてください。

専門家に質問してみよう