Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Скажите как запускать коммандную строку с досовскими командами?   Найти похожие ветки 

 
TankMan ©   (2004-11-12 09:37) [0]

Вобщем проблема в том что например черезе CreateProcess я не могу запустить такую команду как, например, copy ren move и т.д. говорит файл не найден, и ведь правда - в 2к и ХР таких файлов нет, а ведь нужно, если пользователь напишет например такую строку "copy c:\*.txt d:\" или "move c:\archive\file1.zip c:\archive\file2.zip" чтобы она выполнилась, а как? не хочет запускать а ведь в command.com, все ОК - думал запускать так "command /c move c:\archive\file1.zip c:\archive\file2.zip" в ХР заработало в 2к нет :(... не помниаю...
Может есть универсальный вариант? Может кто подсказать?


 
Alx2 ©   (2004-11-12 09:47) [1]

cmd.exe /c <команды>


 
Ega23 ©   (2004-11-12 09:48) [2]

procedure TFSendMessage.bbOKClick(Sender: TObject);
var
i:Integer;
hnd:THandle;
ss:string;
const Command : String ="cmd /c net send ";

begin

.........

if AdditionalCompName<>"" then
 begin   // Дополнительная рассылка, возможно в весь домен
  ss:=Command+AdditionalCompName+" "+eMessText.Text+" "+SessInfo.PersNam;
  hnd:=winexec(PCHAR(ss), SW_HIDE);
  if hnd <= 32 then
   begin
    badsound;
    Exit;
   end;
..........



?


 
TankMan ©   (2004-11-12 14:48) [3]

Благодарю за пример - посмотрю вечером... ох как я надеюсь что заработает :)


 
TankMan ©   (2004-11-15 07:16) [4]

>>Ega23
Спасибо! Заработало :)


 
КаПиБаРа ©   (2004-11-15 07:34) [5]

Anatoly Podgoretsky ©   (25.10.02 16:17)
К тому же очень плохо жестко кодировать путь в программе, для определения имени и местонахождения командного процессора существует системная переменная COMSPEC


Романов Р.В. ©   (19.02.03 20:48)
Другой вариант удаление через командную строку
procedure DeleteDir(const ADir: string);
function GetCmd: string;
var
  Buffer: array[0..4095] of Char;
begin
  SetString(Result, Buffer, GetEnvironmentVariable(PChar("ComSpec"), Buffer, SizeOf(Buffer)));
end;
var
Dir: string;
begin
if Copy(ADir, Length(ADir), 1) <> "\" then
  Dir := ADir + "\"
else
  Dir := ADir;
if DirectoryExists(Dir) then
  ShellExecute(GetDesktopWindow, nil, PChar(GetCmd),PChar("/C rd /S /Q "+Dir),nil, SW_HIDE)
end;



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.059 c
3-1098956673
YuRock
2004-10-28 13:44
2004.11.28
Странное поведение функции в Oracle 8i


14-1100172167
Ega23
2004-11-11 14:22
2004.11.28
Я вернулся.


3-1099433093
Sergy Ivanec
2004-11-03 01:04
2004.11.28
Вопрос по interbase


4-1097332989
#Мастер#
2004-10-09 18:43
2004.11.28
Мониторинг системы


1-1100258492
Frozzen
2004-11-12 14:21
2004.11.28
Поскажите как очистить Canvas?