Я пытаюсь написать файл 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
Как я могу это сделать
Я пытаюсь написать файл 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
Как я могу это сделать
Если вы используете современную систему Windows, вы можете вызвать команду на удаленном компьютере с помощью PowerShell из своего сценария cmd .bat. Нет необходимости в 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.
icm HOST01 { gci -n -rec D:\file1 }
-or-
Invoke-Command HOST01 { Get-ChildItem -Name -Recurse D:\file1 }
psexec \\host1 cmd /c "d: & cd\ & dir /s/b file1"
или просто
psexec \\host1 cmd /c "dir /s/b d:\file1"
Консоль, в которой выполняется cmd
, автоматически закрывается, когда команда завершает выполнение, поэтому вы фактически не увидите результат. Вы можете оставить cmd
работающим (и консоль вместе с ним), используя /k
вместо /c
, но это тоже не имеет особого смысла. Похоже, у вас проблема с XY.