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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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
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
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

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

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