批处理文件 - 语法命令不正确
Batch file - Syntax command is incorect
我在下面得到了这个命令。
@echo off
pushd %~dp0
echo "checking unhealthy cmclient" >> %~dp0\pc_down_info.txt
for /F %%M in (%~dp0\pc_info.txt) do (
ping -n 1 -w 1 %%M >nul
if errorlevel 1 echo %%M is down >> %~dp0\pc_down_info.txt
If not errorlevel 1 (
cd c:\psexec
psexec -d -i \%%M %~dp0\FixCM.exe
)
)
pause
我将尝试使用 psexec 远程执行文件。我在 pc_info.txt 中得到了 PC 列表。我正在尝试执行共享驱动器中的 FixCM.exe。但是提示"Syntax command is incorrect"。我的代码有什么问题?
这里是一个快速重写,希望涵盖目前提出的所有评论。
@Echo Off
Echo="checking unhealthy cmclient">>"%~dp0pc_down_info.txt"
For /F "UseBackQ" %%M In ("%~dp0pc_info.txt") Do (
("%__AppDir__%Ping.exe" -n 1 -w 1 %%M)>Nul 2>&1
If ErrorLevel 1 (Echo=%%M is down>>"%~dp0pc_down_info.txt") Else (
"C:\PsExec\PsExec.exe" -d -i \%%M "%~dp0FixCM.exe"))
Pause
您会注意到我将路径放在双引号内,因为这是一种很好的做法,我不知道脚本目录是否包含字符,例如空格,这会导致问题没有他们。
我在下面得到了这个命令。
@echo off
pushd %~dp0
echo "checking unhealthy cmclient" >> %~dp0\pc_down_info.txt
for /F %%M in (%~dp0\pc_info.txt) do (
ping -n 1 -w 1 %%M >nul
if errorlevel 1 echo %%M is down >> %~dp0\pc_down_info.txt
If not errorlevel 1 (
cd c:\psexec
psexec -d -i \%%M %~dp0\FixCM.exe
)
)
pause
我将尝试使用 psexec 远程执行文件。我在 pc_info.txt 中得到了 PC 列表。我正在尝试执行共享驱动器中的 FixCM.exe。但是提示"Syntax command is incorrect"。我的代码有什么问题?
这里是一个快速重写,希望涵盖目前提出的所有评论。
@Echo Off
Echo="checking unhealthy cmclient">>"%~dp0pc_down_info.txt"
For /F "UseBackQ" %%M In ("%~dp0pc_info.txt") Do (
("%__AppDir__%Ping.exe" -n 1 -w 1 %%M)>Nul 2>&1
If ErrorLevel 1 (Echo=%%M is down>>"%~dp0pc_down_info.txt") Else (
"C:\PsExec\PsExec.exe" -d -i \%%M "%~dp0FixCM.exe"))
Pause
您会注意到我将路径放在双引号内,因为这是一种很好的做法,我不知道脚本目录是否包含字符,例如空格,这会导致问题没有他们。