命令是来自 cmd 但不在批处理文件中的 运行

command is run from cmd but not in batch file

我有一个 .bat 文件,我在其中使用 sqlldr 将数据从 csv 插入到 oracle,但是当我双击 .bat 文件时没有任何反应。 但是当我在 cmd 和 运行 中复制它时,它会执行数据。 我不知道发生了什么路径错误或任何事情。

批处理文件

P:\Users\ashique.sheikh\VMI>sqlldr upi/upi  DATA=P:\Users\ashique.sheikh\VMI\test.csv CONTROL=Insert.ctl LOG=Insert.log.

CTL 文件

OPTIONs(SKIP=1)
LOAD DATA 
INFILE "P:\Users\ashique.sheikh\VMI\test.csv"
INSERT into table DETAIL 
REPLACE
fields terminated by ','
(ID,NAME,ADDRESS,CITY,MOBILE)

也尝试将路径添加到 ctl 参数。恐怕 windows 搜索 insert.ctl 的路径,但找不到它。

尝试在 bat 文件中使用这一行:

start "" cmd.exe /c sqlldr upi/upi DATA=P:\Users\ashique.sheikh\VMI\test.csv CONTROL=Insert.ctl LOG=Insert.log

某些 WinodwsXP 在 运行 cmd.exe 和 运行 .bat 文件时存在不同的 SET 变量问题。是防病毒沙箱之类的