Avatar billede justincase1089 Nybegynder
06. november 2004 - 15:27 Der er 5 kommentarer og
1 løsning

CreateProcess problem med copy statement

Hvorfor virker copy linien ikke når notepad linien gør:

program Project2;

{$APPTYPE CONSOLE}

uses
  Windows,
  SysUtils;

procedure CreateProcessSimple(FileNameAndParameters:string; Wait:Boolean);
var
  pi: TProcessInformation;
  si: TStartupInfo;
begin
  FillMemory( @Si, SizeOf( si ), 0 );
  si.cb := SizeOf( si );

  CreateProcess(Nil, PChar(FileNameAndParameters), Nil, Nil, False, NORMAL_PRIORITY_CLASS, Nil, Nil, si, pi );

  if Wait then
    WaitForSingleObject(pi.hProcess,INFINITE);

  CloseHandle( pi.hProcess );
  CloseHandle( pi.hThread );
end;

begin
  CreateProcessSimple('copy "C:\BlaBla.txt" "C:\Temp"', True);
  CreateProcessSimple('notepad.exe', True);
end.
Avatar billede martinlind Nybegynder
06. november 2004 - 15:30 #1
Prøv :

CreateProcessSimple('cmd.exe /c "copy C:\BlaBla.txt C:\Temp"', True);
Avatar billede arne_v Ekspert
06. november 2004 - 15:35 #2
"" skal vel være sådan:

CreateProcessSimple('cmd /c copy "C:\BlaBla.txt" "C:\Temp"', True);

og er kun nødvendige hvis der er mellemrum i directory eller fil navne.
Avatar billede justincase1089 Nybegynder
06. november 2004 - 23:06 #3
Ja, den har jeg også fundet på nettet, men det forklarer vel ikke, hvorfor det er nødvendigt ... er det fordi copy.exe ikke findes?. Er den en del af command.com eller noget andet grundlæggende.
Avatar billede arne_v Ekspert
06. november 2004 - 23:07 #4
Ja

CreateProcess kræver en EXE fil.

Der er ikke en COPY.EXE, da COPY kommandoen håndteres internt i CMD.EXE
Avatar billede arne_v Ekspert
21. november 2004 - 20:27 #5
justincase>

Tid at få afsluttet spørgsmålet ?
Avatar billede justincase1089 Nybegynder
22. november 2004 - 09:21 #6
Jo, det er rigtig ... men jeg kom jo selv med svaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester