@echo off setlocal set "SCRIPTS_DIR=%~dp0" set "SCRIPTS_DIR=%SCRIPTS_DIR:~0,-1%" REM --- Find PHP --- set "PHP_EXE=" if exist "%SCRIPTS_DIR%\php\php.exe" set "PHP_EXE=%SCRIPTS_DIR%\php\php.exe" if not defined PHP_EXE ( for %%P in ("C:\xampp\php\php.exe" "C:\php\php.exe") do ( if exist %%P set "PHP_EXE=%%~P" ) ) if not defined PHP_EXE ( powershell -NoProfile -Command ^ "if(Test-Path 'C:\wamp64\bin\php'){$v=Get-ChildItem 'C:\wamp64\bin\php' -Directory|Sort-Object Name|Select-Object -Last 1;if($v){Write-Host ($v.FullName+'\php.exe')}}" > "%TEMP%\phppath.txt" 2>nul set /p PHP_EXE=<"%TEMP%\phppath.txt" del "%TEMP%\phppath.txt" >nul 2>&1 ) if not exist "%PHP_EXE%" ( echo [ERROR] PHP not found! pause exit /b 1 ) echo [FTP] Starting FTP server with: %PHP_EXE% echo [FTP] Port 21 - Run as Administrator if access denied echo. "%PHP_EXE%" -d display_errors=0 "%SCRIPTS_DIR%\ftp-server.php" pause