Avatar billede kaspersmith Nybegynder
16. august 2006 - 01:27 Der er 6 kommentarer og
1 løsning

Åbne .bat fil med PHP

Hvordan åbner jeg fx

test.bat med et php script?

Jeg har prøvet lidt forskelligt men ingenting har virket efter hensigten.. Når bat filen er åben skal den forblive åben..

Mvh. Kasper
Avatar billede expnet Seniormester
16. august 2006 - 01:32 #1
hvad vil du med en bat fil til php er ikke helet med
Avatar billede Six Nybegynder
16. august 2006 - 02:30 #2
hvad med exec() ? virker den ikke?

http://dk2.php.net/manual/en/function.exec.php
Avatar billede kaspersmith Nybegynder
16. august 2006 - 02:40 #3
Hvad mit formål er pt. er vel lidt irrellevant.

Jeg har prøvet med exec() men virker så vidt jeg kan kode mig frem til kun på linux.

Jeg er villig til at give lidt for et script som kan starte og stoppe den bat fil jeg vil køre..
Avatar billede Six Nybegynder
16. august 2006 - 03:01 #4
Måske sådan her: exec('start /B "window_name" "path to your exe"',$output,$return);

Ellers prøv dette script.

<?php
define ('EXEC_TMP_DIR', 'C:\tmp');

function windExec($cmd,$mode=''){
  // runs a command line and returns
  // the output even for Wind XP SP2
  // example: $cmd = "fullpath.exe -arg1 -arg2"
  // $outputString = windExec($cmd, "FG");
  // OR windExec($cmd);
  // (no output since it runs in BG by default)
  // for output requires that EXEC_TMP_DIR be defined

  // Setup the command to run from "run"
  $cmdline = "cmd /C $cmd";

  // set-up the output and mode
  if ($mode=='FG'){
      $outputfile = EXEC_TMP_DIR . "\\" . time() . ".txt";
      $cmdline .= " > $outputfile";
      $m = true;
  }
  else $m = false;

  // Make a new instance of the COM object
  $WshShell = new COM("WScript.Shell");

  // Make the command window but dont show it.
  $oExec = $WshShell->Run($cmdline, 0, $m);

  if ($outputfile){
      // Read the tmp file.
      $retStr = file_get_contents($outputfile);
      // Delete the temp_file.
      unlink($outputfile);
  }
  else $retStr = "";

  return $retStr;
}

Det er taget fra kommentarer til exec(), men jeg ved ikke om du har læst dem igennem ;)
Avatar billede Six Nybegynder
16. august 2006 - 03:24 #5
<?
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("din.bat", 3, false);
?>

Prøv at smide din bat fil i winows dir og se om ikke den bliver kørt med den der
Avatar billede kaspersmith Nybegynder
22. august 2006 - 23:00 #6
Kan ikke få dem til at virke.. :/
Avatar billede kaspersmith Nybegynder
18. september 2006 - 13:02 #7
Ingen af dem virker, så tager dem retur
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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