![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
bat файл, создание и работа [D7, XP]
AlexDan © (2009-09-09 10:32:00)понадобилось сделать bat файл,
Fname:='1.bat';
AssignFile(f,Fname);
Rewrite(f);
writeln(f,'DeleteFile('+'P11.exe'+');');
closefile(f);
проблема1. по моему в bat должно быть: DeleteFile('P11.exe'); как я сам удивился, к строке +' ' '+ т.е. просто значёк ' делфи упорно приписывать не хочет..
проблема2. получившийся bat файл удалять ничего не хочет, видимо проблема с правами доступа, может его как-то специально нужно запускать..? просветите пожалуйста..
AlexDan (2009-09-09 21:28:00) [1]> Игорь Шевченко © (09.09.09 21:26) [14]
здесь же женщины и дети..:))
Игорь Шевченко (2009-09-09 21:26:00) [2]'format c: /u'
AlexDan (2009-09-09 21:07:00) [3]del "strmat st-ms", спасибо:)
AlexDan (2009-09-09 19:05:00) [4]и ещё вопрос, как в бат удалить файл название которого из 2-х слов?
del strmat st-ms , например?
Eraser (2009-09-09 17:02:00) [5]> [10] AlexDan © (09.09.09 15:33)
такой подход работает.
AlexDan (2009-09-09 15:33:00) [6]и ещё может кто подскажет, обязательно зацикливать бат файл, чтобы он удалил ехе..? т.е. нельзя ли его как-нибудь запустить из самого ехе, например в форм.дестрой?, наверно вряд ли.
имею в виду такой подход:
@echo off
:del_loop
del [полное имя и путь к EXE файлу]
if exist [полное имя и путь к EXE файлу] goto del_loop
del [полное имя bat файла]
AlexDan (2009-09-09 12:12:00) [7]что-то не так: ShellExecute(0,nil,'prm.bat',nil,nil,SW_HIDE);..? как правильно расставить параметры..?
Anatoly Podgoretsky (2009-09-09 11:31:00) [8]Кстати в данном случае удобнее запустить процесс DeleteFile, если конечно в сообщение не ошибка, можно запустить процесс cmd и передать ему команду del file
В обеих случаях не придется удалять еще и bat файл c диска, кроме того это может и не пройти, на компьютерах с более/менее серьезной системой безопасности.
Anatoly Podgoretsky (2009-09-09 11:25:00) [9]> AlexDan (09.09.2009 11:20:06) [6]
Не то что бы удобнее, просто проще, по сравнению с созданием процесса.
Да просто, указать в качестве файла бат файл. Никаких особенностей.
AlexDan (2009-09-09 11:20:00) [10]> Anatoly Podgoretsky © (09.09.09 11:12) [5]
> Delphi сам прекрасно удаляет файлы без каких либо bat файлов.
нет, нужно чтобы ехе удалил сам-себя, через бат это вроде удобнее.., кстати, как бат запустить через ShellExecute..?
Anatoly Podgoretsky (2009-09-09 11:12:00) [11]> AlexDan (09.09.2009 10:32:00) [0]
Delphi сам прекрасно удаляет файлы без каких либо bat файлов.
Ega23 (2009-09-09 10:38:00) [12]
> smell-команды
shell-команды, конечно.
Ega23 (2009-09-09 10:37:00) [13]
> проблема1. по моему в bat должно быть: DeleteFile('P11.exe');
Это по-твоему, на самом деле будетDeleteFile(P11.exe);
Чтобы получилосьDeleteFile('P11.exe');нужно написать код
writeln(f,'DeleteFile(''P11.exe'');');
> проблема2. получившийся bat файл удалять ничего не хочет,
> видимо проблема с правами доступа, может его как-то специально
> нужно запускать..? просветите пожалуйста..
А нет такой smell-команды DeleteFile. Есть del[ete]. Вот её и пользуй.
Юрий Зотов (2009-09-09 10:36:00) [14]Если апостроф является частью строки, его надо удвоить.
'DeleteFile(''P11exe'');'
AlexDan (2009-09-09 10:35:00) [15]всё, спасибо).., должно быть- del p11.exe