[Techinfo] cmd /c escape
Gyulai László
gyulail at turr.sulinet.hu
2021. Feb. 4., Cs, 16:57:55 CET
2021.02.04. 16:54 keltezéssel, Gyulai László írta:
>
> 2021.02.04. 16:51 keltezéssel, Gyulai László írta:
>> Üdv mindenkinek!
>>
>> Küzdök egy problémával, próbálgatom az escape karaktereket, de még
>> nem találtam rá a jó megoldásra.
>>
>> Van egy cmd alatti parancsom, ami tökéletesen működik (nem batch
>> fájl, sima parancssor):
>>
>> for /f "tokens=*" %a in ('dir /ad-h /b d:\ ^| findstr /i /v
>> ^"^ment$^"') do echo "%a"
>>
>> Amúgy ez kilistázza a %a változóba a d: meghajtón a könyvtárakat, a
>> ment könyvtár kivételével.
>>
>> A problémám pedig az, hogy ezt a parancsot be kéne tenni egy cmd /c
>> után, hogy ugyanígy lefusson. De ahhoz ugye kritikus karaktereket
>> escape-elni kell. Nem találtam még meg a szent grált, esetleg ha
>> valaki séróból tolja, az segíthetne.
>>
>>
>> Köszönöm
>>
>> GyL
>
> Közben folyamatosan próbálkoztam, és ahogy beírtam a listára, hopp,
> meg is lett a megoldás:
>
> cmd /c for /f ^"tokens=*^" %a in ('dir /ad-h /b d:^\ment ^^^| findstr
> /i /v ^^^"^^ment$^^^"') do echo ^"%a^"
>
>
> GyL
>
És elrontottam, ez nem azé a parancsé, mert d:\ helyett d:\ment mappa
van benne, de mindegy, a lényeg az elv. Az eredetire a megoldás:
cmd /c for /f ^"tokens=*^" %a in ('dir /ad-h /b d:^\ ^^^| findstr /i /v
^^^"^^ment$^^^"') do echo ^"%a^"
GyL
További információk a(z) Techinfo levelezőlistáról