Проблема с bat файлом
Добавлено: 20 янв 2006, 02:26
Нужно чтобы программа удалила сама себя. Пишу следующую процедуру:
[procedure Proc;
var
BatchFile: TextFile;
BatchFileName: string;
begin
BatchFileName:=ExtractFilePath(ParamStr(0))+ '$$336699.bat';
AssignFile(BatchFile, BatchFileName);
Rewrite(BatchFile);
Writeln(BatchFile,':try');
Writeln(BatchFile,'del "' + ExtractShortPathName(ParamStr(0)) + '"');
Writeln(BatchFile,'if exist "' + ExtractShortPAthNAme(ParamStr(0)) + '" goto try');
Writeln(BatchFile,'del "' + ExtractShortPAthNAme(BatchFileName) + '"');
CloseFile(BatchFile);
BatchFileName:=ExtractShortPathNAme(BatchFileNAme);
winexec(Pchar(BatchFileName),sw_hide);
halt;
end;]
bat файл создаётся, пути к файлам записываются правильно (если открыт в блокноте), а при выполнении русские буквы не поддерживаются, врезультате файлы не находятся и не удаляются. Что можно сделать?[/code]
[procedure Proc;
var
BatchFile: TextFile;
BatchFileName: string;
begin
BatchFileName:=ExtractFilePath(ParamStr(0))+ '$$336699.bat';
AssignFile(BatchFile, BatchFileName);
Rewrite(BatchFile);
Writeln(BatchFile,':try');
Writeln(BatchFile,'del "' + ExtractShortPathName(ParamStr(0)) + '"');
Writeln(BatchFile,'if exist "' + ExtractShortPAthNAme(ParamStr(0)) + '" goto try');
Writeln(BatchFile,'del "' + ExtractShortPAthNAme(BatchFileName) + '"');
CloseFile(BatchFile);
BatchFileName:=ExtractShortPathNAme(BatchFileNAme);
winexec(Pchar(BatchFileName),sw_hide);
halt;
end;]
bat файл создаётся, пути к файлам записываются правильно (если открыт в блокноте), а при выполнении русские буквы не поддерживаются, врезультате файлы не находятся и не удаляются. Что можно сделать?[/code]