I'm new in Knime, using Knime 2.8.1 on Windows 7. I'm trying to execute external program "openbabel" by the "external tools lab" node, the problem is, I can not get the output from the output port of the node. Instead, I get the output on the specified folder and file name on my directory. I receive in KNIME the same input file every time poped out from the output port of the node with an error "WARN OutputDataHandle$FileOutputDataHandle Could not delete file...".
I set the command arguments on the node: babel -isd %inFile% -d -osd %outFile%
I've checked for access permission to that folder, tried to "write table to disc" from memory policy, still the problem persists. I even can not delete the file from the folder except after closing knime!
The same problem persists when using different external programs.
Thanks Thor for such a suggestion. However, the problem is still persisting when trying to execute other programs, like Libmcs of chemaxon! what do you think what could be the problem?
Could it be that you are executing the .bat file and one of its processes keeps the output file open? Maybe with "C:\Windows\System32\cmd.exe libmcs.bat" it would wait?
Gabor may be right, someone still has the file open. Can you try to delete it by hand (in the Windows Explorer) right after you get the warning in KNIME?
Ah, sorry, I missed the /c switch. Could you try "c:\windows\system32\cmd.exe /c yourbat.bat"? To give a more informed guess, could you share the content of the batch file you would like to execute?
Thanks gabor, still I have the same problem even with "\c" switch. The bat file of libMCS of chemaxon is more than 247 lines, I went through it, it looks that it sets many variables/paths first and then execute the command! But i dunno which part I should copy here?!
I think if there are lines starting with "start", those might be suspicious. If there is a variable containing start that makes it harder to find those lines. (You can check this thread on stackoverflow.)