Hromadné smazání adresaru ve windows batch
Ahoj, nevite nekdo, jak hromadne smazat adresare pomoci windows batch ?
zkousel jsem tohle ale nejede to:
del /f /s /q *ahoj*
rd /s /q *ahoj*
Ahoj, nevite nekdo, jak hromadne smazat adresare pomoci windows batch ?
zkousel jsem tohle ale nejede to:
del /f /s /q *ahoj*
rd /s /q *ahoj*
Zpět do poradny Odpovědět na původní otázku Nahoru
A co ti nejede? Co ti to hlásí?
prave ze vubec nic. Ty adresare tam zustanou a ty prikazy jen projdou ale neudelaji se
Príkazy aj parametre sú správne, ale čo je to *ahoj* ??? To má byť názov súboru, prípadne adresára?
Nezadávaš cestu, kde sa to má mazať? To najprv chceš mazať všetky súbory a potom aj celý adresár?
Nechápem, skús objasniť o čo sa vlastne snažíš.
Prostě na c: mám adresare (nikoli soubory): c:\ahoj1 c:\ahoj2 c:\3ahoj
a chci je smazat hromadne, nebo proste automaticky, idealne se zastupnymi znaky.
Zmaže všetky adresáre začínajúce na Ahoj aj so všetkými súbormi, ktoré prípadne adresár obsahuje.
Navyše vypíše aj adresáre, ktoré vyhovujú podmienkam:
for /d /r . %d in (Ahoj*) do @if exist "%d" echo "%d" && rd /s/q "%d"
Skúšal som to na Win7 v CMD: vytvoril som si adresáre C:\Ahoj1, C:\Ahoj2..., v ktorých som mal vytvorené textové súbory.
Pozor nezabudnúť na zmenu disku a hlavného adresára!
c:
cd c:\
for /d /r . %d in (Ahoj*) do @if exist "%d" echo "%d" && rd /s/q "%d"
super dik moc
Na mazani adresaru (prikaz RD) nemuzes pouzit zastupne znaky.
úplně bych je nevyloučil, každopádně nemohou být dva takto použité.
a taky tazatel zřejmě nezvážil, že používá relativní cestu, která nemusí vždy fungovat:
ale zvazil
del taky nefunguje se zastupnymi znaky. Kdybych vedel jak to udelat, neptam se tady
Nezlob se na mě, ale del se zástupnými znaky funguje, máš tam tedy nějakou jinou chybu (třeba názvy s mezerou a bez uvozovek).
Ohledně toho příkazu rd, tak tady si myslím, že asi bude nutno udělat výpis do souboru pomocí příkazu
dir/ad /b adresare>soubor
potom ten seznam projet pomocí příkazu for a mazat jednotlivě.
ten jednořádkový cyklus od pme stačí.
do souboru by to musel dávat, kdyby kombinoval kousky jako: "ahoj1", "2ahoj", "3ahoj4", "5.ahoj"
nějakým..
..vytvoří seznam, a cyklem "for /f" to z disku smaže.
prave ze ja to kombinovat chci. Proc jsem asi psal zastupne hvezdicky na zacatek i na konec ?
takze na rovinu, jde mi o to, aby script v %programfiles% smazal vsechny adresare obsahujici jmeno toolbar
problem je ted v tom ze kdyz pouziju tohle nize, tak se to pokousi mazat jen prvni slovo, z radku v seznamu
dir "%ProgramFiles%\*toolbar*" /ad /b > %root%sezdir.txt
for /F %f in (sezdir.txt) do rd /s/q "%f"
tvoje verze syntaxe se mi celou dobu moc nelíbí, moc chyb. konstrukce se 2 hvězdičkami určitě v minulosti nefungovala, možná že win7 zavedly nějaké tajné změny, radši se jí vyhnu.
- vyzkoušel jsem si to bez mazání :) příkaz 'rd /s /q' jsem nahradil výpisem 'attrib',
- pro české názvy podadresářů v appdata je nutno přepnout na znakovou stránku 1250
- možné mezery v názvech proměnné %d ignoruje nový 'oddělovač' se zakázaným znakem '?'
původní pme skript by se prostě musel spouštět 2x, kdyby se předpokládaly jen normální názvy 'mega-tool', 'tool-google', což asi nestačí ...
... protože celé je to úplně zbytečné:
- když se nějaký toolbar prohlašuje za legální podnikání a nainstaluje se ti neskrytě např. do program files, má nejspíš i odinstalátor.
- hlavně ho vidíš ve správě doplňků ve svém prohlížeči (už od ie6 sp1), anebo v logu hijackthis.
- ani nemusí mít domovský adresář nazvaný *toolbar*, ani nemusí sídlit v %programfiles% ale i v %programfiles(x86)% a taky v %appdata%.
- můžeš nechat prohledat celý disk, ale aby při tom násilném mazání místo odinstalace nevzniklo ještě více škod.
připomínky už jsou v batce výše.
1) Ano většina programů je legálním softem, pohužel obvykle s pochybnou instalací. Je pravda že uživatelé jsou lamy a instalují kde co bez čtení, ale na tom hodně toolbarů parazituje-
2)Když má lama nainstalovaných několik toolbarů přes sebe, je to pěkkný vopruz
3) Ano domovský adresář být nemusí a někteří ho nemají, ti kteří ano, budou mít smůlu, na ostatní dojde vzápětí. Od toho ten skript dělám.
4) Ano celý disk bych mohl nechat prohledat, jenže to právě nechci. Raděj si toolbary nainstaluju na virtuální mašině a chirurugicky násilně je vyříznu.
Ps: Každopádně díky opravdu moc, teď se zdá že už to bude dělat co potřebuju