2016-05-09 7 views
0

こんにちは、私はこのように見てmegacmd2.batという名前のバッチファイルを持っている:バッチファイルでコマンドを自動化するにはどうすればよいですか?

@rem 
@rem Megatools command line with appropriate paths set 
@rem 
@echo Megatools Shell 
@set PATH=%CD%;%PATH% 
@cmd 

をそして、これは私がそれを起動した後、バッチが手動の代わりに自動的に実行したい入力されている:

megals /Root --username [email protected] --password password 
megamkdir /Root/testmake2 --username [email protected] --password password 

しかし、バッチファイルの残りの部分を邪魔することなく、どのようにしてこれらの行に入力するか、どこでどのようにアイデアを作成する必要はありません。最初の例では、これらのコマンドに沿って渡された別のbatファイルによって.batファイルを起動しようとしましたが、うまくいかなかったのです。

ここでは、同じ目標に達する数え切れないほどの例を見ながら、これをうまく組み込むためのバッチスクリプトの仕組みを学びました。しかし、私はこの特定の問題の文法権を得ることはできません。助言がありますか?

+0

「起動後に手動ではなく自動的に実行する」とはどういう意味ですか?どのように 'megals'と' megamkdir'行をスクリプトの最後に置くのがあなたの望むものではないのですか? – SomethingDark

+0

これは、一度megacmd2.batを開くと、ファイルが自動的にそれらの2つのコマンドを実行し、ユーザーが手動でコマンドスクリーンに入力するのを待ってからenterを押す必要があることを意味します。 私が心配する限り、それは私が欲しいものですが、バッチスクリプトの最後にこれらの2つのコマンドを入れて実行しましたが、実行されませんでした。 私はバッチスクリプトがユーザーの操作を要求せずにコマンドを受け入れて実行する方法に従わないためだと思います。 –

+0

これは完璧に動作するはずです。両方のコマンドの前に 'start" "を入れてみてください。 – SomethingDark

答えて

0

@cmdは、コマンドプロンプトの新しいインスタンスを開きます。コマンドプロンプトは、一度開くと、それ以降のコマンドをバッチスクリプトから受信しません。それを削除し、コマンドをスクリプトの最後に置くだけです。

また、@echo offを使用すると、各行の先頭に@を入れる必要はありません。

@echo off 
rem 
rem Megatools command line with appropriate paths set 
rem 
echo Megatools Shell 
set PATH=%CD%;%PATH% 
megals /Root --username [email protected] --password password 
megamkdir /Root/testmake2 --username [email protected] --password password 
関連する問題