Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Hromadné vytvoření složek

Dobrý den,
chtěl bych se zeptat jestli je možné nějaký program na hromadné vytvoření složek.
například:
5721568 Pavel Pavel a takových podobných názvů cca 400 složek.
Aby byl FREE a CZ
Může byt i v excelu.
Děkuji za radu a pomoc

Předmět Autor Datum
Hromadné na základě čeho?
Wikan 12.09.2019 15:42
Wikan
Hledej "mass folder creation".
Kyncl 12.09.2019 16:33
Kyncl
Napsat Hromadné vytvoření složek do Google je rychlejší, než tady čekat na odpověď. Najde toho vážně…
karel 12.09.2019 16:36
karel
chtěl jsem ti dát lajku, ale včerejšku bys na sebe byl příliš hrd a pyšen. spíš to chce nakopnout ta…
lední brtník 12.09.2019 17:06
lední brtník
Díky za radu již jsem našel 2 způsoby. 1 je pomocí makra což přikládám vzor pokud by někdo v budouc…
Mati 12.09.2019 17:58
Mati
vždyť takovou pitomost umí i sám systém, na to žádné nástroje nepotřebuješ.
touchwood 12.09.2019 18:05
touchwood
Záleží na tom, jakým způsobem. Systém to umí, já to v něm třeba neumim, asi bych to vypátral, kdybyc…
ml1 12.09.2019 18:25
ml1
Akorát bych se chtěl zeptat potřeboval bych do vytvořených složek vložit již vytvořené složky které…
Mati 12.09.2019 19:22
Mati
Ja tohle delam normalne tak, ze vygeneruju textovy soubor se jmeny adresaru, pak v editoru globalne…
gilhad 13.09.2019 06:25
gilhad
až na to, že to děláš zbytečně složitě - pokud máš soubor se jmény adresářů, stačí to projet cyklem,…
touchwood 13.09.2019 09:01
touchwood
Dobrý den, můžu Vás poprosit o vzor v excelu jak to mám udělat. Př.: mám složky s názvy: 46851265…
Mati 13.09.2019 11:35
Mati
A) A ten nazev noveho adresare je teda "4685126574 Jan Kadlec", a nazev stareho je "0000001 Jan Kadl…
gilhad 13.09.2019 13:53
gilhad
Ano nová složka je 4685126574 Jan Kadlec a starý název je 0000001 Jan Kadlec. Vždy je číslo a za tím…
Mati 13.09.2019 14:30
Mati
Pak by asi nejjednodussi bylo to stejne udelat prez ty dva kroky, akorat prejmenovat "0000001 Jan Ka…
gilhad 13.09.2019 15:21
gilhad
Pokud jsou ty složky unikátní, jak tvrdíš, proč je jen nepřejmenuješ?
touchwood 13.09.2019 22:09
touchwood
Jo, taky to tak delavam, pokud uz ten soubor jako takovy dostanu, nebo generuju. Ale vetsinou spis d…
gilhad 13.09.2019 13:31
gilhad
Tak to nechápu jak.
Mati 13.09.2019 20:23
Mati
Vypises si ta jmena starych slozek do textoveho souboru ten textovy soubor otevres v editoru, co umi… poslední
gilhad 14.09.2019 06:03
gilhad

Záleží na tom, jakým způsobem. Systém to umí, já to v něm třeba neumim, asi bych to vypátral, kdybych opravdu musel. Ovšem řešil jsem to jinak. Makro mě nenapadlo, přitom je to jednoduché, možná má i VBA nějaký příkaz na vytvoření složky (aby se nemusel volat shell ), možná jsem ztroskotal na tom, že ten příkaz nemá a než hledat jak ho zavolat (asi bych ho volal z kernel32.dll nebo kde se ukrývá, tohle ani neznám, za to kernel32.dll trochu znám a volání dll v excelu umim), tak jsem si vygeneroval názvy v uvozovkách plus příkaz md, to jsem uložil jako bat a spustil v příkazovém okně. Šlo mi o vyloženě vypočítané názvy, třeba s posloupností po týdnech, to nevim, jak bych systém samotný nutil (jak bych mu řekl vytvoř mi na dva roky dopředu složky pro soboty počínaje XXX_2019-09-14). To už bych spíš dřív na to něco napsal v delphi nebo lazaru nebo v čemkoliv jiném. Každopádně si poradím, musím si poradit, většinou takovou věc potřebuju, když nejsem připojený a nemám se koho zeptat.

Ja tohle delam normalne tak, ze vygeneruju textovy soubor se jmeny adresaru, pak v editoru globalne nahradim zacatek radku prikazem pro vytvoreni adresare a pak ten soubor necham provest. Vlozeni defaultniho obsahu bych udelal tak, ze bych globalne nahradil prikaz vytvoreni adresare prikazem na kopirovani adresare a zas to nechal provest.

Priklad:
udelam soubor x:

Adam
Bozena
Cyril
David
%s/^/mkdir -p  

(tedy vlozeni prikazu pro vytvoreni adresare, ted to vypada takto:)

mkdir -p Adam
mkdir -p Bozena
mkdir -p Cyril
mkdir -p David
sh <x 

(provedu v shellu a mam adresare vytvorene)

nasledne nahradim mkdir -p za cp -a default/* (default je adresar s defaultnima souborama a adresarema)


cp -a default/*  Adam
cp -a default/*  Bozena
cp -a default/*  Cyril
cp -a default/*  David/Eva

a zase to poslu do shellu

sh <x

a mam nakopirovano

kdybych chtel kopirovat z jedne struktury do druhe, tak udelam tu nahradu tak, aby obsahovala i cestu, napr.


cp -a neco/nekde/Adam/default/*         Adam
cp -a neco/nekde/Bozena/default/*       Bozena
cp -a neco/nekde/Cyril/default/*        Cyril
cp -a neco/nekde/David/Eva/default/*    David/Eva

ve windows asi pouzijes trochu jina jmena a parametry (mkdir - md, cp - xcopy nebo tak nejak) soubor bude mit koncovku .BAT lomitka budou obracene a spustis to jmenem souboru (x.BAT), ale princip bude stejny

Dobrý den,
můžu Vás poprosit o vzor v excelu jak to mám udělat.

Př.:

mám složky s názvy:

4685126574 Jan Kadlec
6542198745 Pavel Kotrba
9514325874 Jana Veselá
7214512652 Ota Mrak
6482164258 Pavel Horák
9731652455 Lukáš Kostelecký

Což jsou prázdné složky a do nich bych potřeboval vložit již vytvořené složky které jsou

0000001 Jan Kadlec
0000002 Pavel Kotrba
0000003 Jana Veselá
0000004 Ota Mrak
0000005 Pavel Horák
0000006 Lukáš Kostelecký

Tyto složky obsahují soubory PDF, XLS, TXT, JPG, apod....
A to bych potřeboval vložit do dané složky hromadně, jelikož jich mám cca 450.

Pokud to nějak jde

Děkuji

A) A ten nazev noveho adresare je teda "4685126574 Jan Kadlec", a nazev stareho je "0000001 Jan Kadlec"
B) Nebo je nazev noveho "4685126574" a stareho "0000001" a jen nahodou se to tyka nejakeho Kadlece?

Predpokladam, ze ta jmena jsou jednoznacna (zadnych 10 Josefu Novaku), nebo to parujes ciste podle poradi?

a ma se to tam zkopirovat, nebo presunout (a pokud ano, je to na stejnem disku, takze by to stacilo prejmenovat)?

Pokud je to pripad B) parujes to podle jmena a chces to jen prejmenovat (presunout), tak by nejjednodussi bylo asi to udelat stylem

- vyexportuju ty soubory do textu (u druheho si usnadnim praci prehozenim sloupcu - nebo zvladam regularni vyrazy a pak je mi to cekem fuk)
- ten druhy upravim tak, aby pomoci prejmenovani (rename?) udelal z "0000001" "Jan Kadlec" a spustim ho
- ten prvni upravim tak, aby obdobne udelal z "Jan Kadlec" "4685126574" a spustim ho

- kdyz po prvnim zbydou nejake ciselne adresare, tak vidim, ze mi neco chybi a musim posoudit, zda nedojde ke kolizi (ale ono tam nejspis zbyde neco jako "0000451" a mel by to byt "Pepa Zdepa" v adresari "9876543210")
- kdyz mi tam zbydou nejake neciselne pojmenovane adresare, tak vidim, kde se stala chyba ("Josef Novak" vs "Josef Novák") nebo prislusna polozka chybi zcela (ostatne to nejspis napovi i chybove hlasky)

Ano nová složka je 4685126574 Jan Kadlec a starý název je 0000001 Jan Kadlec.
Vždy je číslo a za tím jméno a příjmení.
Ano Jména a ty čísla jsou jednoznačná nejsou jich tam více.

Ano je to na stejném disku.

Potřebuji, aby se celá složka s názvem 0000001 Jan Kadlec přesunula do nové složky s názvem 4685126574 Jan Kadlec.

Děkuji

Pak by asi nejjednodussi bylo to stejne udelat prez ty dva kroky, akorat prejmenovat "0000001 Jan Kadlec" na "Jan Kadlec" a v druhem kroku prejmenovat "Jan Kadlec" na "4685126574 Jan Kadlec"

nevim, jaky mas editor a znalosti, ale snad umi i regularni vyrazy, nebo nejaky jiny zpusob systematickych zamen podle vzoru, takze z

0000001 Jan Kadlec

dokaze udelat
rename "0000001 Jan Kadlec" "Jan Kadlec"

az

4685126574 Jan Kadlec

rename "Jan Kadlec" "4685126574 Jan Kadlec"

Jo, taky to tak delavam, pokud uz ten soubor jako takovy dostanu, nebo generuju. Ale vetsinou spis dostanu "neco", treba sjetinu z databaze, kde potrebuju odstranit hlavicky, prehazet a pospojovat pole (abych dostal genre/autor-nazev) a opravit par zjevnych preklepu, takze zacinam se souborem ve vimu, ktery uz je nejruzneji poupravovany a tak tam prihodit jeste ten mkdir a treba pridat rovnou i kopirovani na konec radku a tak je v tu chvili primocarejsi

A taky je to jednodussi na konverzi do windows, ktera tazatel zrejme ma a je tam trochu lip videt, jak se k tomu doslo ("magie nizsiho stupne")

Vypises si ta jmena starych slozek do textoveho souboru
ten textovy soubor otevres v editoru, co umi regularni vyrazy (nebo aspon nejake pokrocile nahrazovani)

pokud umi regularni vyrazy, tak pouzijes s/ *\([0-9]*\)\( *\)\(.*[^ ]\) */rename "\1\2\3" "\3"

pokud neumi regulerni vyrazy, (tady se budu ve slozenych zavorkach{} odkazovat na kousky toho regularniho vyrazu, co to delaji protoze to neumim lip viditelne uzavorkovat), tak hromadne nahradis {s/} vyraz skladajici se z libovolneho poctu mezer { *} nasledovanym libovolnym poctem cifer (a ten si zapamatujes jako \1) {\([0-9]*\)\} nasledovanym libovolnym poctem meze (a zapamatujes si to jako \2 {\( *\)} nasledovany libovolnym poctem znaku nasledovanym znakem ruznym od mezery (a zapamatujes si to jako \3 {\(.*[^ ]\)} nasledovanym libovolnym poctem mezer { *} a nahradis to {/} prikazem k prejmenovani (coz je na win tusim rename, pokud ne, tak pouzij ten spravny) {rename} nasledovanym mezerou pro odeleni { } a tim jmenem souboru v uvozovkach (tedy 1,2 a 3 cast - cislice mezery jmeno){"\1\2\3"} mezerou pro oddeleni { } a tim, na co se to ma prejmenovat, cili jmenem, 3. casti v uvozovkach {"\3"}

tim dostanes z radku typu
0000001 Jan Kadlec
radek typu
rename "0000001 Jan Kadlec" "Jan Kadlec"

Nacez tento soubor ulozis jako neco.BAT a spustis ho prikazem neco.BAT v tom adresari, kde mas ty stare soubory
a z adresare
0000001 Jan Kadlec
se stane adresar
Jan Kadlec

tim se ty stare soubory zbavi starych cisel a zustanou jen unikatni jmena

obdobne vypises nove tvary do souboru, pouzijes s/ *\([0-9]*\)\( *\)\(.*[^ ]\) */rename "\3" "\1\2\3"
tim z
4685126574 Jan Kadlec
dostanes
rename "Jan Kadlec" "4685126574 Jan Kadlec"
ulozis to jako cosi.BAT a to cosi.BAT spustis, takze se to z jednoznacnych jmen {\3} prejmenuje na nove cislo prislusny pocet mezer a to jmeno {"\1\2\3"}
a z adresare
Jan Kadlec
se stane
4685126574 Jan Kadlec

protoze to udelas pro vsechny radky v tom souboru naraz, tak se vzdy prejmenuje vsech 450 souboru naraz

(coz je ta "mensi magie", kde se to dela o jednotlivych krocich, celkem viditelne spravnych
vetsi magie, ktera funguje v linuxu s prikazy sed (stream editor) a sh(shell) a mv(move - presunuti/prejmenovani) je vyexportovat soubory stare.txt a nove.txt a napsat radek

sed 's/ *\([0-9]*\)\( *\)\(.*[^ ]\) */mv "\1\2\3" "\3"/' stare.txt |sh;sed 's/ *\([0-9]*\)\( *\)\(.*[^ ]\) */mv "\3" "\1\2\3"/' nove.txt|sh

a je hotovo)

coz je taky duvod, proc pouzivam linux a ne windows, protoze tam muzu delat veci proste jednoduse (jako tento priklad) i v mnoha slozitejsich situacich, zatimco na windows bych pro to potreboval radu ruznych naklikatoru a resil to dost prez ruku. Navic, kdyby hrozilo, ze to budu delat vickrat, tak tam muzu tohle ulozit snadno do skriptu, co by bral dva parametry, (stary a novy soubor), zkontroloval by je na spravnost a pokud by to sedelo, tak tohle udelal, takze bych ten skript volal jednoduse precisluj stary.txt novy.txt a bylo by po starosti, zatimco pokud bych to delal jednorazove, tak to proste napis na radku rovnou a bude
A to je tohle fakt celkem jednoducha vec, predstav si, ze bys mel vzit adresarovou strukturu, ulozit jeji obsah tak, aby byl strojove zpracovatelny, spocist kontrolni soucty, udelat k tomu webovou stranku (u obrazku samozrejme i jejich rozmery, u filmu cas a tak), vypalit to na CDcko a overit, ze se to vypalilo bezchybne - tohle jsem si tam naskriptoval napriklad taky a mnohe jine veci)

Zpět do poradny Odpovědět na původní otázku Nahoru