0

そのため、現在私が行おうとしているのは、別のサーバーにリモート接続し、スケジュールされたタスクを起動して終了し、デスクトップ上の指定されたフォルダーに変更して、ファイルを書き込むことです。

私のコードは現在そのように見えます

C:MyOriginalFolder> psexec \\MYREMOTESERVER -u MYUSERNAME cmd
C:MYREMOTESERVER> SCHTASK.......
C:MYREMOTESERVER> exit & cd C:\\Users\ce132d & echo "Logged off" > MyLog.txt
//expected: the folder C:\\Users\ce132d should have a text file called MyLog.txt

//what happens:  I end up in C:MyOriginalFolder with no MyLog.txt file created

&を削除してコマンドごとにテストすると、すべてがダンディで、期待どおりの動作が発生します。ただし、それらを&および&&でリンクすると、期待される動作は発生しません。

だから私の質問はこれです:終了、ディレクトリの変更、テキストファイルの書き込みのアクションを一列に並べる方法はありますか?最終的に、リモートサーバーへのログインが成功したかどうかを確認し、これらの3つのアクションをif(成功したログイン){3つのタスクを実行}else{エラーログの書き込み}に入れたいと思います。

4

2 に答える 2

1

リモートサーバーを送信しますexit & cd C:\\Users\ce132d & echo "Logged off" > MyLog.txt
なぜあなたはcd ...あなたのローカルディレクトリに何らかの影響を与えると期待するのですか?

コマンドを1行ずつ送信すると、リモートサーバーコンテキストexit終了し、再びローカルマシンに移動するため、残りのコマンドは期待どおりに機能します。

于 2012-06-13T21:18:13.173 に答える
0

> MyLog.txt、を含むコマンドが実行される前に評価されていますcd。代わりに使用できます> C:\Users\ce132d\MyLog.txt

>>代わりに>を使用してファイルに追加することもできます。

于 2012-06-13T17:38:37.217 に答える