Stránka 1 z 1
Malej .bat soubor.
Napsal: 06 úno 2024, 11:04
od adam2024
Zdravím!
Mám složku, a v ní další složky... jedna má název A01, druhá A02 .... až A66.
Potřebuju .bat, který mi odmaže všechny složky, kromě složek A02, A04, A55 a A60.
Jak by asi mohl vypadat?
Napsal: 06 úno 2024, 13:00
od serviceman
Není jednodušší požadované složky přesunout a pak smazat nadřazený folder?
Napsal: 06 úno 2024, 13:47
od adam2024
Když jich máš asi 200 tak ne...
Napsal: 06 úno 2024, 13:57
od forbidden
Spíš bych na to šel přes
PowerShell.
Sám s ním z hlavy moc neumím, ale na netu se vždycky dá dohledat mraky příkladů, který si zrovna pro konkrétní pokus nastuduju a upravím podle sebe.
Napsal: 06 úno 2024, 14:12
od petrfilipi
Třeba
tady.
Jinak není problém to udělat v excelu tak, že do sloupce A si do řádku 1-n vložíš příkaz rmdir (vložíš ho jednou a natáhneš si ho kam potřebuješ), do sloupce B mezeru, do sloupce C cestu k adresáři a do sloupce D název adresáře ke smazání. Můžeš využít automatické číslování excelu. Poslední sloupec pak bude sloučení jednotlivých sloupců. Pak si vyexportuješ poslední sloupec do CSV a tím získáš bat soubor s příkazy ke smazání adresářů.
PF
Napsal: 06 úno 2024, 14:12
od felixbejk
adam2024 píše:Když jich máš asi 200 tak ne...
O jakých 200 píšeš ? , před tím jsi psal o 4 (A02, A04, A55 a A60)
Napsal: 06 úno 2024, 14:23
od kejki
200 složek, ne položek v nich.
Napsal: 06 úno 2024, 14:28
od bu2520
Napadá mě třeba v total comaderu vyhledat ve složce soubory s příponou bat . nechat všechny označit , pad odznačit ty potřebné a zbytek vymazat.
Napsal: 06 úno 2024, 14:33
od forbidden
No já předpokládám, že to chce dělat opakovaně a automaticky. Jinak by vytváření jakýhokoliv scriptu nemělo smysl.
Napsal: 06 úno 2024, 17:59
od josef_novak
Kód: Vybrat vše
@echo off & cd /d D:\Folders || goto :eOf
for /f ^delims^= %%i in =;('@dir /ogn /b /s /a:d
')do =;( type "%~f0" | 1>nul find /i "%%~fi"
);= || 1>nul 2>&1 rmdir /q /s "%%~fi"
goto :eof
:: Keep directory
D:\Folders\A02
D:\Folders\A04
D:\Folders\A55
D:\Folders\A60
Napsal: 07 úno 2024, 10:52
od asdf
Mně funguje tohle:
Kód: Vybrat vše
@echo off
ren slozka\A02 A02.nechat 2>nul
ren slozka\A04 A04.nechat 2>nul
ren slozka\A55 A55.nechat 2>nul
ren slozka\A60 A60.nechat 2>nul
for /D %%f in (slozka\A??) do rmdir /Q /S %%f
ren slozka\A02.nechat A02 2>nul
ren slozka\A04.nechat A04 2>nul
ren slozka\A55.nechat A55 2>nul
ren slozka\A60.nechat A60 2>nul
Napsal: 07 úno 2024, 22:23
od judeware
Napadlo mě něco podobného s tím rozdílem, že (jsa konzervativec a zastánce co nejširší kompatibility) bych to psal jako ".BAT pro DOS a výše", tj. vše velkými, pomocnou extenzi jen se třemi písmeny (např. "A02.NMZ")

a přesměrování výstupu do NULu bych tam nedával.
Napsal: 08 úno 2024, 08:22
od asdf
To máš pravdu, to vlastně nevíme, jestli to má být pro DOS nebo Windows.