Anonymní profil Ferdinand – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Ferdinand – Programujte.comAnonymní profil Ferdinand – Programujte.com

 

Příspěvky odeslané z IP adresy 213.235.140.–

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
15. 2. 2018   #219758

Už to funguje. najednou??? - nechápu     ... kromě přidání těch uvozovek v řádku  
dir * /b /o:n /d > "%filename%"
jsem  s tím nic nedělal

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
15. 2. 2018   #219756

#16 MilanL
for /f "delims=" %%A in ('cd') do (set foldername=%%~nxA) ... vrací toto: %%A nebyl nyní očekáván.

echo %cd% ... vrací toto: Data\My Albums\Benedek Elek\

echo %foldername% ... vrací toto: %foldername%

set filename=seznam_%foldername%_%date%.txt ...  na dotaz: echo %filename% ... vrací toto: seznam_%foldername%_2018-02-15.txt

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
15. 2. 2018   #219753

Mně to dá jen první slovo z celého názvu  aktuálního adresáře, a není tam zakomponován datum. Ten adresář má v názvu 2 slova oddělené mezerou.   

Mám to sestavené takhle (název souboru je: "seznam.bat", nakopírován do adresáře  D:\Data\My Albums\Benedek Elek):

for /f "delims=" %%A in ('cd') do (
     set foldername=%%~nxA
    )
echo %cd%
echo %foldername%
set /P vstup=seznam

rem TADY TO MUSÍM RUČNĚ POTVRDIT. POKUD TO Z TOHO VYREMUJU, TAK TO PROBĚHNE TAKY, SE STEJNÝM VÝSLEDKEM.
set filename=seznam_%foldername%_%date%.txt
chcp 1250
dir * /b /o:n /d > %filename%

Výsledkem je soubor s názvem "seznam_Benedek.txt"

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
14. 2. 2018   #219747

#11 MilanL
Když jsem to zkoušel na příkazovém řádku, tak mi to nic neudělalo:

echo %foldername% ... vrací toto: %%~nxA

Kam tento řetězec mám zapsat v tom BAT-u?

Kde se do toho načte %cd%?

Nemá být namísto " ('cd') " toto: (%cd%) anebo toto: %cd% ?

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
14. 2. 2018   #219741

#7 MilanL
Nojo, ale když se ten adresář jmenuje např. "User Data" a nikoliv "UserData", tak mi to z toho vezme jen to "Data" a slovo "User" tam nebude.    

Anebo naopak: pokud ty hodnoty ~0,-1 vynechám, tak veme jen "User" a slovo "Data" tam nebude.   

Já chci, aby tam byl CELÝ NÁZEV  aktuálního adresáře (v tomto příkladu: "User Data").

Většina mých adresářů je totiž pojmenovaných "víceslovně" - jako např. i v systému: "Program Files (x86)" .

Ferdinand
OS - Windows › Příkazový řádek --> Pomoc…
14. 2. 2018   #219735

Nechci nic testovat. Chci jen prostě vypsat aktuální obsah adresáře. Pak tyto výpisy z různých adresářů zazálohovat do jediného pracovního adresáře - ale to se právě bije, protože ty soubory mají stejný název.

Rozlišení podle času je naprt. To mi neřekne, obsah kterého adresáře daný soubor obsahuje.

OS - Windows › Příkazový řádek --> Pomoc…
14. 2. 2018   #219732

Potřebuji pomocí souboru .BAT vypsat obsah do textového souboru .TXT (uloží se do aktuálního adresáře).
Chci, aby název výsledního souboru vypadal následovně:
seznam_ADR_DATUM.txt

Kde:

(a)
ADR = název aktuálního adresáře
Např.  jsem-li aktuálně v adresáři (kam nakopíruji tento soubor BAT, který  pak dvojklikem spustím)
C:\Users\MojeJmeno\AppData\Roaming\Microsoft\Internet Explorer\UserData
- tak, aby ADR byl jen "UserData", tj. pouze název toho adresáře jako takového.

(b)
DATUM = aktuální datum

Zatím mám toto:

rem seznam.bat: Vypis obsahu aktualniho adresare podle ABC
set filename=seznam_%date%.txt
chcp 1250
dir * /b /o:n /d > %filename%

Ovšem zde dostanu soubor ve tvaru "seznam_12-02-2018.txt".
Pokud ale udělám několik takových výpisů v ten stejný den a ty bych pak chtěl seřadit někam zvlášť (do nějaké pracovní složky), tak všechny mají stejný název...    
Takže bych pro rozlišení do toho názvu souboru potřeboval nějakým způsobem ještě dostat název toho aktuálního adresáře.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý