Главная страница
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.044 c
1-1100114788
Cardinal
2004-11-10 22:26
2004.11.28
Работа с потоками. Помогите!


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


1-1100444283
bloodman
2004-11-14 17:58
2004.11.28
Как создать TWebBrowser в ран-тайм?


4-1097501001
Shira333
2004-10-11 17:23
2004.11.28
Месторасположение объекта...


4-1097682747
Hmm
2004-10-13 19:52
2004.11.28
isql.exe или как выполнить команду в консольном приложении... ?