Rozkopirovani souboru do 30 adresaru a prejmenovani podle jmena adresare
Ahoj,
chtel jsem pozadat o radu, zda by bylo toto nejak rel. snadno proveditelne:
- mam cca 30 adresaru (kazdy ma unikatni nazev), kazdy ma 2 podadresare:
c:\nazev1\podnazev1
\podnazev2
c:\nazev2\podnazev1
\podnazev2
...
- potreboval bych rozkopirovat jeden soubor do vsech podadresaru (podnazev1, podnazev2) tak, aby se dany soubor krome nakopirovani jeste prejmenoval podle podadresare, ve kterem se nachazi (na podnazev1, podnazev2).
Budu rad za kazdou radu, nez se zacnu pachtit s nejakym Pythonem.
Diky, M.
Tak ted jsem za debila, vidim, ze se neco podobnyho resi nize.... Pardon.
Ty jo, to je ale nahoda, az jsem z toho vykuleny -
Z toho si nic nedělej, <joke> debile </joke> (opravdu jen v žertu!).
myslels tohle? http://pc.poradna.net/question/view/43896-soft-na-h romadne-prejmenovani-souboru-v-adresari-podle-nazvu -adresare
No co jinyho...
Dneska se s kopírováním a přejmenováním roztrhl pytel
Pokud ty adresáře máš předem dané (tj. např. výčet adresářů v txt souboru), tak co ti brání udělat si 2x malý for cyklus v konzoli CMD?
Hm, brani mi v tom neznalost prikazu pro davky a trochu lenost. Neumim nacist adresare z txt a pak je pouzit...
doporučuji - z nápovědy Windows:
for /F "eol=; tokens=2,3* delims=," %i in (můj_soubor.txt) do @echo %i %j %k
Tento příkaz rozloží jednotlivé řádky souboru Můj_soubor.txt, ignoruje řádky začínající středníkem a předá druhý a třetí token z každého řádku do těla cyklu FOR (tokeny jsou odděleny čárkami nebo mezerami). Tělo příkazu FOR odkazuje pomocí proměnné %i na druhý token, pomocí proměnné %j na třetí token a pomocí proměnné %k na všechny zbývající tokeny. Pokud zadané názvy souborů obsahují mezery, uveďte text v uvozovkách (například "Název souboru"). Chcete-li použít uvozovky, musíte uvést parametr usebackq. V opačném případě budou uvozovky interpretovány jako ohraničení řetězcového literálu, který má být analyzován.
V nápovědě Windows toho je fakt hodně
Udělej to pěkně ručně. Jen bacha ať nedopadneš takto:
Dale díky díky! Tuhle animaci jsem měl a ztratil a nemoh jsem ji najít! Je kouzelná.
Mne se teda VUBEC nelibi.
M.
Není zač . Mám u Tebe jedno
JJ
Tak to je boží gif.
Tak predevsim tacudove nakopu jsem to nejak zpachtil, diky tacude (clovek se snazi vse hledat na www a pritom windowsacky help byl v tomto pripade nejlepsi zdroj...). Presto mam jeste dva dotazy:
- je mozne do promenne ulozit vystup prikazu, abych s ni mohl pracovat... treba mam:
dir w:\%1\%2\%3\%4\ /b | find ".ppp" a potreboval bych ulozit vystup z tohoto dir do nejake promenne...?
- je nejaky zpusob jak logovat prikazy, vcetne jejich vyhodnoceni, nez takto:
prikaz 1 >> log.txt
prikaz 2 >> log.txt
prikaz 3 >> log.txt
Dik, M.
obávám se, že parametrizace výstupu (jak je známa např. z linuxového bash-e - set prom='ls -a`) není v případě CMD možná, prostě není implementována. Budeš na to muset použít soubor (named pipes by šly použít taky, ale jejich implementace je v prostředí windows také jeden velký vřed).
Totéž pak platí o logování.
Elegantněji to pak jde řešit ve VBS, ale jsou tam zase jiné problémy, např. atomizace té cesty, což bych asi řešil převodem přes Split na pole
ad 1) obávám se, že to nelze... Jedině zas pouhé přesměrování výstupu do souboru pro pozdější zpracování.
ad 2) o žádném jiném logování nevím, než tak jak jsi to napsal, s využitím přesměrováním do souboru.
Tak jo, diky panove (hoste, tacude) za rady.
M.
No vidíš, nakonec to zdvojení tématu k něčemu bylo.