|
Самоудаление файла с помощью .bat - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе |
05.09.2010, 18:07
|
#1
|
|
|
|
Разведчик
|
Регистрация: 03.08.2010
Сообщений: 1
Популярность: 14
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Самоудаление файла с помощью .bat
Написал функцию,программа и батник самоудается, но не всегда.
Например с рабочего стола XP не получается,новерное путь к удаляемой программе слишком длинный ?как исправить ?и проверте Бат код ,пишу на нем первый раз...
Код:
void selfDel(char* moduleName)
{
char batFile[MAX_PATH]="C:\\delself.bat";
char batLines[MAX_PATH*4];
strcpy(batLines,":Return");
strcat(batLines,"\r\ndel \"");
strcat(batLines,moduleName);
strcat(batLines,"\"\r\nif exist \"");
strcat(batLines,moduleName);
strcat(batLines,"\" goto Return \r\ndel \"");
strcat(batLines,batFile);
strcat(batLines,"\"");
DWORD byte;
HANDLE file = CreateFile(batFile, GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);
if(file==INVALID_HANDLE_VALUE)
return;
WriteFile(file,batLines,strlen(batLines),&byte, NULL);
CloseHandle(file);
STARTUPINFO si;
ZeroMemory( &si, sizeof(si) );
PROCESS_INFORMATION pi;
CreateProcess(batFile,NULL,NULL,NULL,NULL,NULL,NUL L,NULL,&si,&pi);
}
|
|
|
28.09.2010, 13:30
|
#2
|
|
|
|
Разведчик
|
Регистрация: 24.09.2010
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Самоудаление файла с помощью .bat
удалить исполняемый в данное время файл нельзя
создавай и запускай в глубине каталогов еще один который удалит этот обычным удалением
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:32.
|
|