• 締切済み

コマンドプロンプトでのマクロ使用

バッチファイルを作成しているんですが ディレクトリを指定する箇所が多いので、簡潔に cdコマンドで移動する処理をd1,d2のようにしてマクロにしたいと思うのですが思うようにいきません。 コマンドプロンプト上に手打ちならば動くのですが バッチファイル上に組み込むと動きません。 doskeyを用いて、以下のような使用を考えています。(一部のみ) doskey d1=cd C:\aaa doskey d2=cd C:\bbb echo ***起動 d1 start ***.exe d2 start ***.exe

みんなの回答

回答No.4

path コマンドを利用されたら? 例   PATH "C:\WINDOWS;C:\Program Files"  または   SET PATH="C:\WINDOWS;C:\Program Files" 注: フォルダ(ディレクトリ)名に空白が含まれる場合はダブルクオーテーションで囲みますが含まない場合は不要、また、複数のディレクトリの設定は、セミコロンで区切る。 こうしておけば、設定したディレクトリにある実行ファイルの実行時やFind コマンドの時などでディレクトリを指定しなくて良いです。

  • necomimi
  • ベストアンサー率41% (633/1540)
回答No.3

環境変数を利用するんだったら set d1=cd C:\aaa set d2=cd C:\bbb echo ***起動 %d1% start ***.exe %d2% start ***.exe でいいんじゃ?

  • x1va
  • ベストアンサー率26% (802/3006)
回答No.2

変数への格納は d1=C:\aaa として、実際に利用する際は cd %d1% としましょう。 あと、exeを実行するのにいちいちstartをつける必要はありません

tanakasasi
質問者

補足

うーん それでもバッチファイルにしたら動きませんね・・。

  • Eureka_
  • ベストアンサー率41% (5065/12244)
回答No.1

バッチファイルを複数用意してCallコマンドを使うんじゃだめなんですか?

tanakasasi
質問者

補足

ディレクトリを上で変更しやすくするためのものなので callではちょっと理想とは違うのです・・。

関連するQ&A

  • コマンドプロンプトの繰り返し処理について

    コマンドプロンプト初心者です。 今回、同じファイルをWebサーバー上の複数のフォルダにアップロードするバッチを組みたいのですが、「for」による繰り返し処理がうまくできません。 さらに具体的にいいますと「public_html/10」「public_html/11」「public_html/12」「public_html/13」それぞれに「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードしたいのです。 なお、「public_html/10」に「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードをおこなう、という一度だけの処理はできています。ですが、forを使い、繰り返し作業をおこなおうと試みるも、うまくいきません。 以下が作成したFTPコマンドです。 ------------------------------ open XXX.XX.XX.XX name password For /L %%a in(10,1,13) do ( cd /public_html/%%a mkdir AAA cd /public_html/%%a/AAA put C:\BBB.txt BBB.txt) EXIT       ------------------------------ お手数ですが、ご教授いただけますと幸いです。 よろしくお願いいたします。

  • コマンドプロンプトのバッチファイル実行までの速度

    コマンドプロンプトのバッチファイルを作成したのですが このバッチファイルの実行するまでの処理速度を、コマンドプロンプト上に表示させたいのですが、どのようなコマンドを組めばよいのでしょうか? ちなみにバッチファイルの中身は、 @echo off start http://www.yahoo.co.jp です。よろしくおねがいします。

  • コマンドプロンプト

    コマンドプロンプトで robocopy a b /mir /xo robocopy c d /mir /xo robocopy e f /mir /xo というバッチファイルを作ったとして、共通部分の/mir /xoを毎回打たなくてもいい方法はあるのでしょうか。 理想としては aaa = /mir /xo robocopy a b aaa robocopy c d aaa robocopy e f aaa みたいにできると、助かります。

  • MSDOSをバックグラウンドで起動させたい。

    Windows2000のMSDOS(コマンドプロンプト)を実行すると、画面が表示されます。この画面を表示させずにバックグラウンドでプログラム(バッチファイル)を実行させるにはどうしたらよいのでしょうか? 以下、バッチファイル概要 @echo off start c:\php\php.exe c:\aaa.php 上記を実行させると、c:\php\php.exeのコマンドプロンプトが画面に表示されてしまいます。

  • コマンドプロンプトで簡単なファイルの読み込み

    ファイルAの場所 C:\file.txt ファイルBの場所 D:\file.txt それぞれのファイルには一行の文字が書かれています。 バッチファイルを使って、この二つのファイルを読み込み、内容が同じであれば、"same"をecho、そうでなければファイルAをファイルBに上書きするというバッチを作りたいのですが、コマンドプロンプトは使ったことがないので、よくわかりません。 調べてみましたが、for /fを使うのでしょうか?それぞれのファイルは一行しか文字を含まないので、もっと簡単にできそうな気もするんですけどどうなんでしょう。

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

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

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

    コマンドプロンプトについて教えてください。 Msiexec.exe実行でのプログラムのアンインストール ↓ REG DELETEでレジストリの削除 ↓ CDでインストール対象のEXEファイルがあるところに移動してEXE実行 という一連の流れを1つのバッチファイルにしたいのですが、処理終了(インストールされていることを確認)すると、なぜか真ん中の処理のレジストリーキーの削除ができてません。 /fオプションで強制削除をつけているはずなのですが…ちなみに、単独で上から実行すると正しくレジストリーキーは削除されております。 何が原因か色々調べましたが、わかりません。処理の間に何か構文が必要なのでしょうか? なるべくバッチファイルの数を少なくしたいのですが、上記の3つの流れを満たすにはどうすればよいですか? 試しに一番最初のアンインストールの部分を、 Start /w Msiexec.exe~でやってみたのですが、それでもREGdeleteで消したいレジストリーキーはレジストリエディタで確認すると残ってました…

  • コマンド プロンプト

    java初心者です。「やさしいjava」という本を買い、それで学ぼうとしているのですが、早速躓きました。 最初にコマンドプロンプトに打ち込むところで、本の通り「cd c:\YJSample\01」と打ち、「>javac Sample1.java」と打ち込んだのですが、「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と出るのですがどうすれば解決できるのでしょうか?

    • ベストアンサー
    • Java
  • コマンドプロンプト

    スタートメニューのアクセサリからコマンドプロンプトを実行すると C:\WINDOWS\system32\cmd.exe ReadProcessMemory要求または WriteProcessMemory要求の一部だけを完了しました。 と出てコマンドプロンプトが起動されないんですがどうすればいいんでしょうか?

  • コマンドプロンプトを閉じるには

    下記のような処理をバッチファイルで処理しています。 最後に、コマンドプロンプトの画面を閉じるには何と書けばいいですか。 CD C:\sample\ shori -s shori -t shori -g #質問者はど素人で、上記は、コピーして使っているだけ。