Bir toplu iş dosyasında PHP-W bayrağı kullanılarak

1 Cevap php

Ben PHP CLI mevcut-W bayrağını kullanarak benim. Php dosyaları tüm beyaz boşluk ve kod yorumları kaldırmak için çalışıyorum. Ben projemde her php dosyası aracılığıyla bir toplu iş dosyası için ardışık döngü kullanıyorum. Toplu komut gibi görünüyor:

FOR /F "tokens=*" %%G IN ('DIR /B /A-D /S *.php') DO "%php-exe-path%/php.exe" -w %%G > %%G 

Bu sadece boş üretir. Ancak ek ekleme yönlendirici kullanarak ('>' yönlendirici kullanarak) php dosyalarını ('>>') çalışıyor. Ben bu PHP dosyaları veya benim toplu komut ile bazı kilitleme sorunu ile ilgili bir sorun olup olmadığından emin değilim.

Herkes yardımcı olabilir?

1 Cevap

Genellikle: Asla BORU tekrar dosyasına bir dosya ile çalışan bir komutun çıkışını yapın. Yerine geçici bir dosyaya boru, eskisini silin ve eski adı geçici birini yeniden adlandırın. Kinda aşağıdaki gibi:

FOR /F "tokens=*" %%G IN ('DIR /B /A-D /S *.php') DO (
    "%php-exe-path%/php.exe" -w %%G > %%G.temp
    del %%G
    ren %%G.temp %%G
)

Yan not: bazı ince ama kötü hatalar tanıtmak gibi dir çıkışı üzerinde for /f kullanmayın lütfen. Bunun yerine sadece düz for, ve özyinelemeli /r anahtarı ile dosyalar üzerinde yineleme doğru yolu kullanın:

FOR /R %%G IN (*.php) DO (
    "%php-exe-path%/php.exe" -w %%G > %%G.temp
    del %%G
    ren %%G.temp %%G
)