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 (successful login) {do 3 tasks} else {write error log}..

4

2 回答 2

1

你发送你的远程服务器exit & cd C:\\Users\ce132d & echo "Logged off" > MyLog.txt
为什么您认为cd ...应该对您的本地目录产生任何影响?

当您逐行发送命令时,您exit退出远程服务器上下文,然后您再次在本地计算机上,因此其余命令按预期工作。

于 2012-06-13T21:18:13.173 回答
0

> MyLog.txt运行任何命令(包括cd. 你可以> C:\Users\ce132d\MyLog.txt改用。

您也可以使用>>而不是>附加到文件。

于 2012-06-13T17:38:37.217 回答