Во-первых, bat-файл делать не обязательно, можно прямо в коде вставить
Код:
RC := SHELL ('c:\windows\system32\command.com','/c', 'dir c:\temp > c:\out.txt'); //Работает!
RC нужно обязательно, чтобы команда завершилась перед возвратом.
Во-вторых, у меня при пустой папке в результате получается не ноль, а вот что:
Код:
’®¬ ў гбва®©б⢥ C Ґ Ё¬ҐҐв ¬ҐвЄЁ.
‘ҐаЁ©л© ®¬Ґа ⮬ : 1496-0D55
‘®¤Ґа¦Ё¬®Ґ Ї ЇЄЁ c:\temp
16.09.2011 15:16 <DIR> .
16.09.2011 15:16 <DIR> ..
0 д ©«®ў 0 Ў ©в
2 Ї Ї®Є 98я296я623я104 Ў ©в бў®Ў®¤®
Ну, на кодировку здесь наплевать (это 866), факт, что там в любом случае есть текст, который нужно анализировать