acd2
Goto Top

windows shell befehle aufrufen

hi, ich möchte gerne eine php seite schreiben aus der ich das kommando

del c:\blabla\*.* /S /Q

aufrufen kann

nur ich weis nicht wie das unter windows läuft, also mit dem standard

exec_shell("del c:\blabla\*.* /S /Q");

gehts nicht

hoffe ihr könnt mir helfen

danke

Content-Key: 24175

Url: https://administrator.de/contentid/24175

Printed on: April 19, 2024 at 06:04 o'clock

Member: Dani
Dani Jan 24, 2006 at 16:09:42 (UTC)
Goto Top
Also der Befehl heißt shell_exec('del c:\blabla\*.* /S /Q');
Member: ACD2
ACD2 Jan 26, 2006 at 05:47:31 (UTC)
Goto Top
kann es sein dass das mit variablen nicht geht?

also

shell_exec('del "D:\daten\home\$beruf\$jahr\*.*" /S /Q');

??
Member: Dani
Dani Jan 26, 2006 at 06:42:47 (UTC)
Goto Top
Dann probiers doch einfach mal ohne Vari's.
Member: ACD2
ACD2 Jan 26, 2006 at 09:23:19 (UTC)
Goto Top
ja, das hab ich nicht mit dazu geschrieben, ohne variablen gehts, ich brauch den befehel aber mit variablen

also, ich zeig dir mal meinen quelltext:

<?php
$beruf = $HTTP_POST_VARS["beruf"];
$jahr = $HTTP_POST_VARS["jahr"];

$output = shell_exec('del D:\Daten\Home\$beruf\$jahr\*.* /S /Q');

echo $output;

?>
Member: Biber
Biber Jan 26, 2006 at 09:32:24 (UTC)
Goto Top
Moin AC!D,

Wenn Du PHP-Variablen einbaust, musst Du es tendiziell so machen IMHO:

shell_exec('del "D:\daten\home\"+$beruf+ "\"+ $jahr +"\*.*" /S /Q');

HTH Biber
Member: ACD2
ACD2 Jan 26, 2006 at 11:28:20 (UTC)
Goto Top
ich weis nicht, wie und warum, aber dadurch das ich das script jetzt mit ^^ dieser zeile ausgeführt habe, hat es mir auf c:\ alle dateien gelöscht was innerhalb von 60 sec möglich war. jetzt kann ich mich nicht mehr auf dem server anmelden, der server ist frisch auf gesetzt wollte heute abend ein backup machen, tja, das wars, alles neu .......
Member: Biber
Biber Jan 26, 2006 at 12:00:50 (UTC)
Goto Top
Moin AC!D,
kann nicht sein, dass es an diesem Befehl lag.
shell_exec('del "D:\daten\home\"+$beruf+ "\"+ $jahr +"\*.*" /S /Q');

Selbst wenn die Argumente/Parmeter in der Klammer nicht richtig zusammengestoppelt worden sein sollten, z.B. $beruf und $jahr "leer" waren, wäre bestenfalls ein "Syntax-Error" herausgekommen bei:
shell_exec('del "D:\daten\home\\\*.*" /S /Q');
Unter WinXP nicht mal das - da werden beliebig viele "\" am Ende ohne Murren als eines interpretiert.
"Dir d:\daten\home\*.*" bewirkt das gleiche wie "Dir d:\daten\home\\\\*.*". It a Feature, not a bug, sagt Bill. face-wink

However - mit diesem shell_exec()-Aufruf können IMO keine Daten auf Laufwerk C:\ gelöscht worden sein.
Ich glaub Dir ja, dass die Daten weg sind (und finde das auch schlimm), aber die Ursache muss woanders liegen.

Grüße Frank
Member: ACD2
ACD2 Jan 26, 2006 at 12:13:13 (UTC)
Goto Top
naja, es ist irgendwie seltsam, ich denk mir auch, so wie es geschrieben ist, ist es eigentlich unmöglich, vorallem, aufm d: ist noch alles da, aber tatsache ist das alles wegist, naja, ich bin dabei ihn neu aufzuziehen, das beste ist, ich bekomme überstunden bezahlt.