You are here: PSPad forum > České diskuzní fórum > Zvýrazňování windows shell syntaxe
Goto Page: Previous1 2 3 4 5 6 7 8 9 10 11 ...LastNext
Posted by: lazna | Date: 2015-09-11 11:31 | IP: IP Logged
V teto konstrukci se nesparuje prvni zavorka s posledni:
if not "%~1"=="" (
findstr /C:"%~1" streets.txt >NUL
if not "%errorlevel%"=="0" (
echo %~1>> streets.txt
echo INSERT into streets ^(st,added^) VALUES ^('%~1','%timestamp%'^)^; | iconv -f cp852 -t utf-8 | ..\utilities\sqlite3.exe test.db
)
)
Edited 1 time(s). Last edit at 2015-09-11 11:31 by lazna.
Posted by: pspad | Date: 2015-09-11 12:20 | IP: IP Logged
Protoze ta prvni je brana jako retezec. Ta Batch syntaxe je ale slozita, jak se to postupem casu dolepovalo...
Posted by: pspad | Date: 2015-09-11 12:58 | IP: IP Logged
Doufam, ze to je opraveno. Prepsal jsem kompletne detekce retezcu, takze poprosim o provereni. Ja takove divoke konstrukce nevymyslim.
Posted by: lazna | Date: 2015-09-13 10:06 | IP: IP Logged
pspad:Ta Batch syntaxe je ale slozita, jak se to postupem casu dolepovalo...
Myslite rozvijelo
Mozna se Vam to jen zda protoze jste mentalne zustal (nic ve zlem) u Win9x kde se to jmenovalo 'batch' a bylo to v dost ranne fazi (v podstate DOS). Mezitim se to dost rozvinulo, dokonce tak zasadne ze se tomu zmenila i pripona (ktera na win o obsahu souboru dost vypovida). Verzi shell interpreteru si muzete nacist ze systemove promenne %cmdextversion%
Napriklad u bashe to funguje obdobne a nyni je ve verzi 4. U win shellu vsak dalsi rozvoj nepredpokladam protoze MS dnes spise tlaci PowerShell.
Posted by: lazna | Date: 2015-09-13 10:09 | IP: IP Logged
pspad:Doufam, ze to je opraveno. Prepsal jsem kompletne detekce retezcu, takze poprosim o provereni. Ja takove divoke konstrukce nevymyslim.
Po lehkem testu to zatim vypada OK. Dam pripadne jeste vedet...
Jinak tohle nic neni, mam na konte script s vice nez dvema tisici radku co pouziva ANSI sekvence. V tom se vyznat uz je na same hranici mentalniho zdravi.
Posted by: pspad | Date: 2015-09-13 10:18 | IP: IP Logged
Quote:Myslite rozvijelo
Ne myslel jsem opravdu dolepovalo. Pokud se neco rozviji tak, jak se s tim zpocatku nepocitalo, je treba vymyslet ruzne obskurni konstrukce, aby se dosahlo cile.
Já jsem do shellu nemusel pronikat, pokud jsem potreboval neco slozitejsiho, naprogramoval jsem si to. Asi jsem zaujaty proti skriptovani, kde skacu na zaklade podminek sem a tam na labely. U jednoduchych skriptu to jde, ale pokud jsou tam cykly, v ramci nich odskoky...
Quote:Jinak tohle nic neni, mam na konte script s vice nez dvema tisici radku co pouziva ANSI sekvence. V tom se vyznat uz je na same hranici mentalniho zdravi.
To verim. Hlavne pak delat zmeny.
Posted by: lazna | Date: 2015-09-13 13:36 | IP: IP Logged
lazna:Po lehkem testu to zatim vypada OK. Dam pripadne jeste vedet...
Rozbilo se zvyraznovani labelu
call :write_to_file
Tohle uz myslim predtim fungovalo....
Posted by: pspad | Date: 2015-09-14 13:17 | IP: IP Logged
lazna:Rozbilo se zvyraznovani labelucall :write_to_file
Tohle uz myslim predtim fungovalo....
CALL jsem musel přepsat, protože to bylo v kodu tak podivně. Takže teď ještě dořeším ty labely v CALL
Posted by: lazna | Date: 2015-09-14 14:09 | IP: IP Logged
Tokeny ve FOR smycce:
%%a
je spravne zvyrazneno jako promenna, ale v
%%~a
jsou zvyraznena jen procenta ackoliv se jedna o totez jen s odebranymi uvozovkami. Prikladam kompletni seznam odkazu na promenne z helpu:
---------------------------------------
Dále bylo vylepšeno nahrazování odkazů na proměnné příkazu FOR.
Nyní můžete používat následující nepovinnou syntaxi:
%~I - Rozvine %I a odebere okolní uvozovky (").
%~fI - Rozvine %I na úplnou cestu.
%~dI - Rozvine %I pouze na písmeno jednotky.
%~pI - Rozvine %I pouze na cestu.
%~nI - Rozvine %I pouze na název souboru.
%~xI - Rozvine %I pouze na příponu souboru.
%~sI - Rozvinutá cesta obsahuje pouze krátké názvy.
%~aI - Rozvine %I na atributy souborů.
%~tI - Rozvine %I na datum a čas vytvoření souboru.
%~zI - Rozvine %I na velikost souboru.
%~$PATH:I - Prohledá adresáře uvedené v systémové proměnné
PATH a rozvine %I na úplný název prvního
nalezeného souboru. Jestliže název systémové
proměnné není definován nebo soubor není
nalezen, bude tento modifikátor rozvinut
na prázdný řetězec.
Modifikátory lze kombinovat a získat tak složené výsledky:
%~dpI - Rozvine %I pouze na písmeno jednotky a cestu.
%~nxI - Rozvine %I pouze na název a příponu souboru.
%~fsI - Rozvine %I na úplnou cestu pouze s krátkými
názvy.
%~dp$PATH:i - Vyhledá %I v adresářích uvedených v systémové
proměnné PATH a rozvine %I na písmeno
jednotky a cestu prvního nalezeného souboru.
%~ftzaI - Rozvine %I na výstup ve formátu výstupu
příkazu DIR.
Posted by: pspad | Date: 2015-09-14 15:04 | IP: IP Logged
Díky
Pokud cjem to pochopil dobře, mělo by být: %~dp$PATH:i zvýrazněno celé jako proměnná. Je to tak?
Editor PSPad - freeware editor, © 2001 - 2025 Jan Fiala, Hosted by Webhosting TOJEONO.CZ, design by WebDesign PAY & SOFT, code Petr Dvořák, Privacy policy and GDPR