- - PR -
コマンドプロンプトからテキストファイルを読み込んで・・・
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-12 17:20
Windows Server Insiderにて質問する内容にふさわしくないかもしれませんが、
コマンドプロンプトに関してひとつ質問させて下さい。 例えば、コマンドプロンプト上でテキストファイルを読み込み、それを変数に 格納することは可能でしょうか? テキストファイルに、日付が入っており(1レコードのみ)、それをDOS上で開き、 変数に入れたいのですが・・・。 ちなみに、OSはWindows2000です。 よろしくお願いします。 |
|
投稿日時: 2006-07-12 17:24
こんにちは。
TechNet に テキスト ファイル内の指定した 1 行だけを読み取る方法はありますか という記事がありますが、変数に入れるというのはこういうことでしょうか。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 |
|
投稿日時: 2006-07-12 17:44
返信ありがとうございました。
リンク先を拝見させて頂きましたが、VBScriptは使用せずに、DOSのコマンドだけを 組み合わせてできないのかと考えていました。 やりたいことの詳細は(始めに記載せず申し訳ありません。)、 Batファイル内に下記のコードを記載しています。 Set aaa=C:\Test.txt" <--1レコードの日付が入っています。 これをDOS上でオープンさせて変数へ格納します。そして、この変数を利用して SQLPLUSで、@xxxx.sql bbbb(この1レコードの日付) というSQLスクリプトを実行させたいのです。 xxxx.sql内で、whereで日付を指定しているところがあるのですが、この日付を bbbbで処理するようにしたいのです。 |
|
投稿日時: 2006-07-12 18:00
どうしてもというなら、 for /f コマンドが利用できます。
詳細は for /?でお調べください。指定したファイルから テキストを読み込み、変数にセットしながら、ループする、 という処理が可能になります。 ・参考情報 Windows 2000 コマンドライン徹底活用 第8回 forコマンド(その2) 2.ファイル解析による繰り返し処理 http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.html |
|
投稿日時: 2006-07-13 09:59
皆様、返信ありがとうございました。
とりあえず、テキストファイルの1レコード(日付だけ)を変数に格納することが できました。 for /f %%i in (C:\Test.txt) do echo %%i 上記の式で %%iに日付が入りました。 しかし、この後に、 Set aaa=%i といった形で、aaaにこの日付を格納したいのですが、 どうしてもうまくいかず困っています。 (色々と構文を調べたのですが・・・。) 文法的なアドバイスを頂けたらと思っております。 よろしくお願いします。 |
|
投稿日時: 2006-07-13 10:14
set aaa=%i%
|
|
投稿日時: 2006-07-13 10:26
einenさん、ありがとうございました。
実は、色々なことを試したのですが、うまくいきませんでした。 set aaa=%i%もその一つでした。 今、下記のようなコードを書いて簡易的なテストをしています。 for /f "tokens=*" %%i in (C:\Test.txt) do echo %%i <-- 日付を読み込み Set aaa=%i% <-- 日付を入れたい @echo %aaa% <-- 変数が入っているかを確認したい Set aaa=%%i とか Set aaa=%i とか やりましたけれどよく分からなくなってきて・・・。 そもそもテキストの情報を読んで、それをSETすることはできないのでしょうか? |
|
投稿日時: 2006-07-13 10:27
einenさん、ありがとうございました。
実は、色々なことを試したのですが、うまくいきませんでした。 set aaa=%i%もその一つでした。 今、下記のようなコードを書いて簡易的なテストをしています。 for /f "tokens=*" %%i in (C:\Test.txt) do echo %%i <-- 日付を読み込み Set aaa=%i% <-- 日付を入れたい @echo %aaa% <-- 変数が入っているかを確認したい Set aaa=%%i とか Set aaa=%i とか やりましたけれどよく分からなくなってきて・・・。 そもそもテキストの情報を読んで、それをSETすることはできないのでしょうか? |