PHP skript spustitelný z příkazové řádky Windows
Taková blbost. Spustitelný PHP skript v .BAT souboru. Třeba se to někomu bude hodit.
Windows mám, ale příkazovou řádku (příkazový řádek?) používám. Třeba s Mercurialem. Jeho "hg add / hg commit / hg push" mě docela nakazilo. Pro některé projekty tu potřebuju správcovské procedury. Typicky: vytvořit adresář, něco do něj zkopírovat, někam zapsat, že se tak stalo, projít soubory a něco v nich změnit...
Já vím, jsou na to nástroje, ale než bych se je učil, to to mám v PHP napsané hned. Dtto s Pythonem: jasně, šlo by to, ale než se k tomu dostanu, mám to v PHP hotové.
Jediný problém je, že svůj skript musím spouštět pomocí "php admin.php blablabla". Když já bych ale rád tu jednoduchost hg.
Udělal jsem si tedy baťák "admin.bat" a do něj dal prosté "@php admin.php %1 %2 %3 %4..." Je to sice to co jsem chtěl, ale nelíbí se mi, že to jsou dva soubory. Takhle kdyby to šlo udělat jako hybridní. Jako je v Linuxu takové to #!/usr/bin/php.
Jde to.
Moje řešení je:
@rem <?php /*
@echo off
php.exe %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO:EOF
*/
echo "\10\10\10\10\10";
... // pokračování PHP skriptu
(Smysl posledního řádku si za domácí úkol odvoďte.)
No a ve zbytku souboru si zpracovávám parametry ($_SERVER['argv'][0]) a dělám co potřebuju.
Já vám říkal, že to je taková blbost.