Myslím, že SelfMan odpověděl výborně jen pár poznámek a možná i tipů.
První tip je por SelfMan(a). Pro srovnávání je možná vhodnější
"$(FileOrDirToCompareLeft)" (a jeho right varianta) protože umožní porovnávání jak souborů tak adresářů, když je těch souborů na porovnávní více a jsou ve více adresářích nejdou všechny zvolit. Tak to používám s Beyond compare.
Teď k věci:
"$(FullPathInactive)" je opravdu nejvhodnější na zobrazování inaktivní cesty, ale pozor na kombinování s
"$(Name)", který bere jméno souboru z aktivní strany, takže při zkombinování těchto dvou by mohla vzniknout neexistující kombinace.
Co se týče odkazování na soubory v batch filech obecně doporučuji používat patrameter
%~f1, což je fully qualified pathname. V okamžiku, kdy skriptu dodáte pouze jméno souboru toto umožní expanzi cesty k souboru. V případě, že je dána pouze cesta jako u
"$(FullPathInactive)", tak to tu cestup zachová.
Pokud je použit parametr
%1 je dobré ho ukládat do proměnné a přitom používat opět uvozovky a rovná se musí být bez mezer:
např:
SET "path=%1"
Co je dobré ještě vědět? Budete potřebovat zpožděnou expanzi proměnných
ENABLEDELAYEDEXPANSION a možná i
ENABLEEXTENSIONS
Což se v batch file nastavuje na začátku:
Code: Select all
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
Následně pozdější expanze proměnných probíhá pomocí vykřičníků
! místo procent
%. Budete muset přepsat ten
for do kompatibilní formy.