如何在bat文件中执行psexec命令

时间:2017-06-19 06:34:40

标签: batch-file cmd psexec

我正在尝试编写一个将完成以下操作的bat文件:

psexec \\host1 cmd
d: #to change the remote server's drive
cd\
dir /s/b "file1" #searches for this file in host1 in its d: drive

我该怎么做呢

2 个答案:

答案 0 :(得分:1)

如果您使用的是当前的Windows系统,则可以在cmd .bat脚本中使用PowerShell在远程计算机上调用该命令。不需要psexec。需要为PowerShell远程处理设置远程计算机。 Get-Help about_Remote

powershell -NoProfile -Command "invoke-command HOST01 { cmd /C dir /S /B D:\file1 }"

如果您在PowerShell中运行:

invoke-command HOST01 { cmd /C dir /S /B D:\file1 }

当然,在PowerShell中,您也可以使用PowerShell cmdlet。

icm HOST01 { gci -n -rec D:\file1 }
    -or-
Invoke-Command HOST01 { Get-ChildItem -Name -Recurse D:\file1 }

答案 1 :(得分:0)

psexec \\host1 cmd /c "d: & cd\ & dir /s/b file1"

或只是

psexec \\host1 cmd /c "dir /s/b d:\file1"

执行cmd的控制台在命令执行完毕后自动关闭,因此您实际上看不到结果。您可以使用cmd代替/k使/c保持运行(以及控制台),但这也没有多大意义。您似乎有XY问题。