Как выйти из пакетного выполнения, когда вывод php cli «НИЧЕГО НЕ ДЕЛАЕТ» - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть случай, когда мне нужно выйти из пакетной программы (.bat) при выполнении сценария php внутри.

Например, это мой код php echo.php

<?php echo "NOTHING TO DO" ?>

и затем я создаю командный файл для его запуска, это всего лишь пример моей логики, но это не работает

@title "ECHO TEST"
@echo off
D:
cd D:\xampp\htdocs
SET status = "D:\xampp\htdocs\echo.php"
echo Status is %status%
pause

ожидаемый результат -

Status is NOTHING TO DO

Наконец, мне просто нужно знать, как поместить вывод php cli в переменную пакетного файла, чтобы я мог выполнить условие для него.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Спасибо всем за ответ, поэтому я получил этот цикл решения, пока условие не будет соответствовать вашим требованиям

:loop

:: Parse token is like word, and delims mean like explode lol
:: Make parameter A for the output, and then define OUTPUT as the callback
FOR /F "tokens=* delims= " %%A IN ('PHP PATH TO YOUR ACTION') DO SET OUTPUT=%%A

:: If condition
IF "%OUTPUT%" == "YOUR OUTPUT" (
    exit
) else (
    goto :loop
)
:: PS, my english is not really good
0 голосов
/ 04 декабря 2018

Вам понадобится цикл for /f для анализа вывода файла php.Вы должны изменить свой код, чтобы он работал следующим образом:

@title "ECHO TEST"
@echo off
cd /d D:\xampp\htdocs
for /f "delims=" %%A IN ('D:\xampp\htdocs\echo.php') do set "status=%%A"
echo Status is %status%
pause

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...