AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2011, 15:48   #1  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Во-первых, 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), факт, что там в любом случае есть текст, который нужно анализировать
Старый 17.09.2011, 09:55   #2  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от Alex Che Посмотреть сообщение
Во-первых, bat-файл делать не обязательно, можно прямо в коде вставить

Код:
RC := SHELL ('c:\windows\system32\command.com','/c', 'dir c:\temp > c:\out.txt');     //Работает!
RC нужно обязательно, чтобы команда завершилась перед возвратом.
Во-вторых, у меня при пустой папке в результате получается не ноль, а вот что:
Угу. Зачёт Это ещё красивее. Можнодажевсёводнустрокувлепить.
И shell - это УЖЕ запущенный командный интерпретатор. Второй раз комманд.ком вызывать не за чем.
Вероятно, можно просто тупо одну команду dir написать. Не проверял, но должно работать.

Только ты ключик "слеш бэ" забыл добавить.
У меня он есть, поэтому файл и нулевой.

ЗЫ: А вообще, совершенно неожиданно, получилось вполне себе "изящное" решение поиска файлов. В одну строку
Старый 17.09.2011, 10:21   #3  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Не Извиняюсь.
Проверил. Тупо dir не работает, оказывается.
Должен быт путь к железно существующему файлу.
Старый 17.09.2011, 10:46   #4  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Не Извиняюсь.
Проверил. Тупо dir не работает, оказывается.
Должен быт путь к железно существующему файлу.
Всё. Вот САМАЯ финальная рабочая версия, без пути к процессору

Код:
s:text[250];

s:=ENVIRON('comspec');
SHELL(s, '/c dir /b c:\*.* > c:\out.txt');
Старый 17.09.2011, 10:55   #5  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Блин.
Вот теперь точно - САМАЯ-САМАЯ. Однострочная!

Код:
SHELL(ENVIRON('comspec'), '/c dir /b c:\*.* > c:\out.txt');
ЗЫ: Подглючивает что-то форум. Не даёт только что созданное сообщение отредактировать, приходится новое писать.
Старый 17.09.2011, 11:21   #6  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
С утра так очарован и увлёкся шеллом, что получилось вот что:

Код:
SHELL(ENVIRON('comspec'), '/c del "'+ENVIRON('appdata')+'\*.zup"');
Давно уже хотел для своих пользоваталей такое написать (ибо задолбали уже), но всё руки не доходили
Теперь повешу им на кнопку в главном меню, чтобы отстали
Для тех, кто понял для чего это - пользуйтесь! Дарю!

ЗЫ: Андрюха тоже этот вопрос решал, но более громоздко
http://www.apanko.ru/showthread.php?t=1473
Старый 17.09.2011, 14:09   #7  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Вот теперь точно - САМАЯ-САМАЯ. Однострочная!
Код:
SHELL(ENVIRON('comspec'), '/c dir /b c:\*.* > c:\out.txt');
И всё-же повторюсь:
что-бы получить список ТОЛьКО файлов команда DIR не годится, т.к. выдаёт всё содержимое (и файлы, и папки).
Как получить список ТОЛьКО файлов? Если с таблицей FILE, то как?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.