Windows toplu işinde, bir veya daha fazla belirli bağımsız değişkeni% * içinden kaldırmak istiyorum
Örneğin, --dev komutunu böyle bir komuttan kaldırmak istiyorum:
python --dev -c "print 'hello world'"
Bunu nasıl yaparım?
@ECHO OFF
setlocal enabledelayedexpansion
set i=0
for %%x in (%*) do (
IF NOT %%x == --dev (
set /A i+=1
set "args[!i!]=%%~x"
)
)
:: expecting args to be -c "print 'hellow world'"
echo running: python %args%
python %args%
args[]
değişkenleri kullanma noktasında anlamıyorum . Nedenset "args= "
ilk döngüdeset "args=!args! %%~x
ikinci döngü için gerek kalmadan başlıyorsunuz ? Argüman dizesinde, program çizelgesi satırında göz ardı edilecek iki önde gelen boşluk olacaktır.