doskeyマクロをバッチスクリプトで使うには?

このQ&Aのポイント
  • コマンドプロンプト上でdoskeyマクロを使う方法について知りたいです。
  • バッチスクリプトで設定されたdoskeyマクロは別のバッチスクリプトで使用できるのか疑問です。
  • doskeyマクロを環境変数のように複数のバッチスクリプトで使うことはできるのでしょうか?
回答を見る
  • ベストアンサー

doskeyマクロをバッチスクリプトで使うには?

こんにちは。 コマンドプロンプトでは、Unixシェルのエイリアスに似た機能として、doskeyマクロがあります。 例えば、 doskey cdh=pushd %Userprofile% というような行が書かれたバッチスクリプトを実行すると、doskeyマクロが設定され、 コマンドプトンプト上で使えるようになりjます。 このようにして設定されたdoskeyマクロは、バッチスクリプトでは使用する事ができません。 具体的に言いますと、 doskey cdh=pushd %Userprofile% という行が書かれたバッチスクリプト1を実行した後、 別のバッチスクリプト2で、マクロcdhを使おうとしても、使えません。 環境変数のように、doskeyマクロを、様々なバッチスクリプトで使う事はできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

出来ないです。 set cdh=pushd %Userprofile% とかいて、 %cdh% とするくらいですね。

MetalLover
質問者

お礼

notnotさん いつも御回答ありがとうございます。 やっぱり無理なのですか。 なら仕方がないですね。 きっぱり諦めます。

関連するQ&A

  • Emacsのshellモードでのdoskeyマクロ

    こんにちは。 OSは現在、64bit版のWindows7を使っています。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 このEmacsにおいて、「M-x shell」で shell mode に入ったあと、 doskeyマクロを定義したバッチファイルを実行し、 そのdoskeyマクロを使おうとしたのですが、できませんでした。 具体的には、 doskey cdh=pushd %Userprofile% といったマクロを定義してあるバッチファイルを、shell modeにおいて、 実行した後に、 cdhと入力しても、 「'cdh' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 というメッセージが流れるだけでした。 cdh以外のマクロも、同じように使えませんでした。 でも、そのバッチファイルで定義した環境変数は、shell modeでも使えました。 doskey /m というコマンドを実行すると、 doskey cdh=pushd %Userprofile% といった行が見つかりましたので、なぜ使えないのかが分かりません。 何か御存じの方がいらっしゃれば

  • PHPをバッチスクリプトのように実行する方法

    PHPをちょっと勉強してみようと思っています。 言語仕様をさらっと勉強したいだけなので Webサーバーを立ち上げるまではしたくないと思っています。 で、PHPをバッチスクリプトのように実行したいと思っています。 PerlやWSH(JScript, VBS)、シェル、Winコマンドバッチ等のように。 しかし、少し調べた限りではPHPをバッチのように起動する方法は分かりませんでした。 PHPをバッチスクリプトのように実行する方法はありますでしょうか? 存在しないのでしょうか?もしあるのならその方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • マイクロソフトのバッチ処理について

    マイクロソフトのバッチ処理は、MSDOSのころから連綿として続いている機能で、unixのシェルを適用させたものと思います。 記述されているコマンドを上から順番に進めていくということになると思っていますが、ループ化することはできるのでしょうか。 100個のファイルがあって1つ1つナンバリングされていますが、それを一挙に処理するために同じ処理を100行にわたって書くことを行っています。ただし、ファイル名が違うのでそこは変えていますが。 同じことを100回書くのが苦痛なのでperlのようなもので書き出す工夫はしています。バッチがループで回ってループカウンタとファイル名をうまく合わせると2,3行で済むのではないかと思うのですが。こういうことはできないものなのでしょうか。unix, Linuxにいったん渡してそこでシェルスクリプトで処理することは今回はできません。Windows上限定のことなのですが。よろしくお願いします。

  • cmdの起動時におけるバッチスクリプトの自動実行

    こんにちは。 OSは現在、64bit版のWindows7を使っています。 コマンドプトンプト(C:\Windows\System32\cmd.exe)の実行時に、 自動で実行するバッチスクリプトを設定するには、 レジストリキーの HKEY_CURRENT_USER\Software\Microsoft\Command Processor に、AutoRunという文字列値を作成し、そのデータに、バッチスクリプトのパスを記述します。 以前までこの方法で、 C:\Users\kei\cmdprofile.bat というバッチスクリプトが、コマンドプロンプトの起動時に呼び出されるように設定していました。 最近、これを実行しないようにしようと思い、 HKEY_CURRENT_USER\Software\Microsoft\Command Processor に、AutoRunという文字列値を削除しました。 ところが、依然と同じように、C:\Users\kei\cmdprofile.batが、コマンドプロンプトが起動する度に実行されてしまいます。 そこで、バッチスクリプトの名前をprofile.batに変更してコマンドプロンプトを起動させた所、 「C:\Users\kei\cmdprofile.bat は存在しない」 といったエラーメッセージが表示されました。 どうやら、C:\Users\kei\cmdprofile.batを自動実行する設定が解除されていないようなんです。 一体どうすれば、このバッチスクリプトの自動実行を解除する事ができるのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

  • シェルスクリプトについて

    とあるUNIXサーバが1台あるとします。 でそのマシン上の管理プログラムが同一マシン上にある 「シェルスクリプト(bash)」をキックするとします。 となるとそのシェルスクリプトの実行者(?)は Unixにログオンしているユーザーになるのでしょうか?。 目的としてはそのログインしているユーザーの環境変数 をシェルから参照したいのですが・・ 考え方がWindowsなもので。。すみませんが よろしくお願いします。

  • シェルスクリプト内のcdで、カレントディレクトリを変えるには?

    シェルスクリプト内のcdコマンドで、カレントディレクトリを変えるにはどうしたらいいか?をどうか教えて下さい。 MS-DOSのバッチファイル内で"cd XXXXX"と書き実行した時の動作を、UNIX(CygWin)環境でも行いたいです。 が、シェルスクリプトは(サブシェルで動く為)カレントディレクトリが変わってくれません。aliasコマンド等でいろいろ実験しましたが、DOSバッチファイルのように「バッチファイル単体でディレクトリ移動が出来る方法」を探し出せませんでした。 極めて初歩的とは存じますが、どうか宜しくお願い致します。

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

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

  • 権限の違うシェルスクリプトの実行

    3つのシェルスクリプトがあります。 ●root権限で実行  aaa.csh ●ユーザ指定権限で実行 bbb.csh ●root権限で実行 ccc.csh この3つのシェルスクリプトはaaa.csh →bbb.csh →ccc.cshの順番でバッチ処理として cronに設定したいのですが、 権限が違うのでroot権限のcrontabとユーザ指定のcrontabに それぞれ設定しなくてはいけません。 あまりスマートではないかと思い、 何かよい方法はないかと質問させて頂きました。 3つのシェルスクリプト1つシェルスクリプトにまとめてroot権限のcrontabに設定してしまう方法とかどうでしょうか? ちなみにスクリプトの処理の内容は単純なファイルコピーなどです。 意味分かりますでしょうか? よろしくお願いします。

  • perlスクリプト内でシェルコマンドを実行するには??

    タイトル通りなのですが、perlスクリプト内でシェルコマンドを実行させる方法が分からなく、困っています。 実行したいシェルコマンドはUNIXのcrontab なのですが・・。 また、perlスクリプト内以外でシェルコマンドを実行する方法はあるのでしょうか?? どなたか分かる方いらっしゃいましたらご教授いただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • Perl
  • シェルスクリプトとphpを使ったプログラミングについて

    UNIXサーバで、現在、シェルスクリプトやphpを使ってプログラムを書いています。 今は「csh cmd ファイル名」という形でシェルスクリプトを実行しています。このままではプロンプト画面で味気ないので次のようにしたいのですが、やり方が分りません。 まず、phpやhtmlで作成したファイル提出画面にてファイルを提出してもらいます、そして、それを受け取ります。その時例えば送信ボタンを押すと思うのですが、そのボタンを押したらファイル名を受け取り「csh cmd ファイル名」が実行されるといふうにしたいのです。何かいい方法があれば教えて頂きたいです。phpでなくてもいいので、お願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう