我目前有一个batch file,可以安排chkdsk在多个服务器上运行,
c:\pstools\psexec \\server1 -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F" c:\pstools\psexec \\server2 -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F" c:\pstools\psexec \\server3 -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F" c:\pstools\psexec \\server4 -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F" c:\pstools\psexec \\server5 -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F"
我想了解如何构build一个FOR循环,它将从一个txt文件中读取 –
server1 server2 server3 server4
txt文件将位于本地e:驱动器上的数据文件夹中。 另外,有没有办法不必多次input用户ID的密码? 感谢指导! Thx和新年快乐!
您可以使用FOR,但也可以创建一个名为servers.txt
的文件,其中包含:
server1 server2 server3 server4
并运行这个命令:
c:\pstools\psexec @servers.txt ...your command...
PsExec将在文件中列出的每台计算机上执行该命令。 请参阅此处的psexec文档 ,并参阅@file
参数。
这是一个for循环方法:
@echo off for /f "delims=" %%a in (servers.txt) do ( c:\pstools\psexec \\%%a -d -u Domain\administrator cmd /c "echo Y | chkdsk c: /F" )