我有以下批处理代码,当我双击批处理时代码执行正常但是当我尝试通过Windows任务调度程序运行它时,它只能部分运行。我无法理解为什么。
基本上,代码删除所有行ergo,运行到mysql -e "DELETE FROM software_it.hardware" -u root
并且不再执行。任何帮助都会很棒。
@ECHO OFF
setlocal enabledelayedexpansion
mysql -e "DELETE FROM software_it.hardware" -u root
FOR %%f IN ("*.csv") DO (
set old=%%~dpnxf
set new=!old:\=\\!
mysql -e "load data local infile '"!new!"' into table software_it.hardware COLUMNS TERMINATED BY ',' IGNORE 1 ROWS" -u root
echo %%~nxf DONE
)
答案 0 :(得分:0)
从任务计划程序运行时,可能是当前目录'将与您直接运行脚本时使用的不同。因此,我建议添加以下第三行:
IF /I "%CD%\" NEQ "%~dp0" PUSHD "%~dp0"