CMD - problém s názvem adresáře
Zdravím,
Pokouším se vytvořit dávkový soubor (bat), který by zkopírovat do cílového adresáře pár souborů. Mám problém s cestou do cílového adresáře jelikož je v cestě vždy složka která se na každém PC jmenuje jinak. např. C:\Program Files\test\XYZ. Na druhém PC se složka jmenuje jinak např. C:\Program Files\test\ABC. Potřeboval bych tedy něco jako zástupný znak * pro složku. Zkoušel jsem snad vše, prolétl jsem celý google ale nic jsem nenašel. Jediné řešení co mě napadá je udělat výpis adresáře a uložit si název so souboru a pak ho načíst. Nějak takto: dir C:\Program Files\test\ > nazev.txt a pak ho načíst.
Existuje něco jednoduššího? Má někdo nějaký nápad?
Díky
echo Current dir = %CD%
echo Script dir = %~dp0
echo Batch path = %0
se mi zdá, že si nějak zjednodušuješ život.
myslíš doufám na to, že různé systémy mají různý název "C:\Program Files", "C:\Program Files (x86)"?
a navíc pokud nemají zakázaný uac, že kopírování pravděpodobně skončí chybovým hlášením?
Pokud je ve složce test vždy jen jedna složka lze její název uložit do proměnné:
for /f "delims=" %a in ('dir /b /d "%programfiles%\test"') do @set slozka=%a
Cesta cíle při kopírování ja pak tato:
"%programfiles%\test\%slozka%"
EDIT: parametr %a by v cmd skritpu měl být %%a
tak jest. Takto se řeší např. skriptování uživatelských profilů Firefoxu a Thunderbirdu.