Jak zjistit velikost souboru pomocí *.bat
Jak zjistit velikost souboru pomocí *.bat
Potřebuji zjistit velikost souboru pomocí dávky, v podstatě mi stačí rozlišit soubor nulové velikosti od souborů větších pro rozhodnutí, zda *.zip rozbalovat nebo přeskočit. Jeden takový prázdný ZIP přikládám.
-
- Pohlaví:
Re: Jak zjistit velikost souboru pomocí *.bat
V .bat pochybuji. můžeš zkusit Honzu Paška, třeba bude vědět. Jinak předpokládám, že by to šlo ve vbs, pokud máš zájem, můžu zkusit během týdne něco napsat.
Re: Jak zjistit velikost souboru pomocí *.bat
V podstatě by mi stačilo zjistit, jestli soubor něco (cokoli) obsahuje. Pokud správně předpokládám soubor velikosti "nula" neobsahuje vůbec nic. Přikládám *.bat, kterým jsem se neúspěšně pokoušel ono "nic" zjišťovat.
Protože mám jeden *.ZIP-soubor s dlouhým (Win) názvem denně, není-li *.ZIP nulový,je v pakovanci soubor s názvem "pomlčka" a chci obsah dostat do databáze obsluhované 16-bitovým interpretem (PC FAND), snažil jsem se každý *.ZIP vypakovat do ASCII souboru s nezaměnitelným DOS-názvem v jednom procesu.
Protože mám jeden *.ZIP-soubor s dlouhým (Win) názvem denně, není-li *.ZIP nulový,je v pakovanci soubor s názvem "pomlčka" a chci obsah dostat do databáze obsluhované 16-bitovým interpretem (PC FAND), snažil jsem se každý *.ZIP vypakovat do ASCII souboru s nezaměnitelným DOS-názvem v jednom procesu.
-
- Elite Level 10.5
- Příspěvky: 11108
- Registrován: únor 12
- Bydliště: Pankrac
- Pohlaví:
- Stav:
Offline
Re: Jak zjistit velikost souboru pomocí *.bat
Tvuj bat nevidim jen ja nebo maji ostatni stejny problem? Klidne ho vloz pomoci code.
Prazaci jo ty se maj, az kdyz si me zavolaj..
Re: Jak zjistit velikost souboru pomocí *.bat
Kód: Vybrat vše
::COPYH_BAT
if exist D:\PRIJATE\TOPLIST\PRG\COPYH.txt del D:\PRIJATE\TOPLIST\PRG\COPYH.txt
if not exist D:\PRIJATE\TOPLIST\TOPLIST_2011_9_2.ZIP goto nocopy
copy D:\PRIJATE\TOPLIST\TOPLIST_2011_9_2.ZIP D:\PRIJATE\TOPLIST\TMP\TP110902.ZIP
findstr /R /C:. /G:D:\PRIJATE\TOPLIST\TMP\TP110902.ZIP /M > D:\PRIJATE\TOPLIST\PRG\COPYH.txt
if not exist D:\PRIJATE\TOPLIST\PRG\COPYH.txt goto nounzip
C:\PROGRA~1\IZARC\IZARC.EXE -ef D:\PRIJATE\TOPLIST\TMP\ D:\PRIJATE\TOPLIST\TMP\TP110902.ZIP
move D:\PRIJATE\TOPLIST\TMP\TP110902\- D:\PRIJATE\TOPLIST\TMP\TP110902.TXT > nul
rmdir D:\PRIJATE\TOPLIST\TMP\TP110902
del D:\PRIJATE\TOPLIST\TMP\TP110902.ZIP
:nounzip
move D:\PRIJATE\TOPLIST\TOPLIST_2011_9_2.ZIP D:\PRIJATE\TOPLIST\FIN\TOPLIST_2011_9_2.ZIP
:nocopy
echo D:\PRIJATE\TOPLIST\PRG\COPYH.txt >> D:\PRIJATE\TOPLIST\PRG\COPYH.txt
:end
-
- Elite Level 10.5
- Příspěvky: 11108
- Registrován: únor 12
- Bydliště: Pankrac
- Pohlaví:
- Stav:
Offline
Re: Jak zjistit velikost souboru pomocí *.bat
Korektne vytvoreny zip zacina retezcem PK (resp. 50 4b 03 04 14 hexa), testuj jeho pritomnost (staci PK), i kdyz ta tecka (jako regularni vyraz) se zda byt ok.
Ale unika mi podminka ten txt soubor se VZDY vytvori v predchozim kroku (findstr).
Ale unika mi podminka
Kód: Vybrat vše
if not exist D:\PRIJATE\TOPLIST\PRG\COPYH.txt goto nounzip
Prazaci jo ty se maj, az kdyz si me zavolaj..
Re: Jak zjistit velikost souboru pomocí *.bat
Potřebuješ externí příkaz - program, který ti zjistí jestli soubor zadaného jména existuje a má nějakou velikost, nebo je prázdný. Návratovou hodnotu toho programu můžeš testovat příkazem errorlevel a podle toho v dávce skočit na příslušné návěstí, kde se vykoná požadovaná činnost:
Můžou nastat čtyři možnosti:
1. Nezadáš název, program vrátí 0.
2. Zadaný soubor neexistuje, program vrátí 0.
3. Soubor existuje, ale nic v něm není, program vrátí 0.
4. Soubor existuje a je v něm aspoň jeden bajt, program vrátí 1.
Program i se zdrojákem a testovací dávkou máš v příloze, je to jen v šestnáctibitovém QBasicu, takže od toho nečekej zázraky, hlavně bacha na názvy souborů, které to umí jen v DOSovém formátu 8.3, takže musíš odzkoušet co ta vykopávka udělá
A nezapomeň to projet antivirem, sice bych tu v DOSBoxu žádnou verbež mít neměl, ale nikdy si nemůžeš být jistý...
Kód: Vybrat vše
@echo off
obsah.exe nic.txt
if errorlevel 1 goto zpracuj
goto konec
:zpracuj
echo PRACUJI
:konec
Můžou nastat čtyři možnosti:
1. Nezadáš název, program vrátí 0.
2. Zadaný soubor neexistuje, program vrátí 0.
3. Soubor existuje, ale nic v něm není, program vrátí 0.
4. Soubor existuje a je v něm aspoň jeden bajt, program vrátí 1.
Program i se zdrojákem a testovací dávkou máš v příloze, je to jen v šestnáctibitovém QBasicu, takže od toho nečekej zázraky, hlavně bacha na názvy souborů, které to umí jen v DOSovém formátu 8.3, takže musíš odzkoušet co ta vykopávka udělá

A nezapomeň to projet antivirem, sice bych tu v DOSBoxu žádnou verbež mít neměl, ale nikdy si nemůžeš být jistý...
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Jak zjistit velikost souboru pomocí *.bat
Jen doplňující dotaz - DOS-adresáře zvládá nebo je nezbytné umístit "obsah.exe" do adresáře se souborem?
-
- Elite Level 10.5
- Příspěvky: 11108
- Registrován: únor 12
- Bydliště: Pankrac
- Pohlaví:
- Stav:
Offline
Re: Jak zjistit velikost souboru pomocí *.bat
Staci kamkoliv do cesty (promena PATH).
Naposledy upravil(a) zeus dne 03 zář 2012 19:01, celkem upraveno 1 x.
Prazaci jo ty se maj, az kdyz si me zavolaj..
Re: Jak zjistit velikost souboru pomocí *.bat
Musí být v některém z adresářů z proměnné PATH, třeba C:\Windows. Pak ho můžeš spouštět jako každý jiný příkaz odkudkoliv.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Jak zjistit velikost souboru pomocí *.bat
Asi jsem se nevyjádřil přesně - šlo mi o to, jestli parametr může obsahovat cestu nebo to musí být "čistý" název souboru. Zdroják je jasný a jednoduchý, ale o to víc závisí fungování na vlastnostech QBasicu.
Re: Jak zjistit velikost souboru pomocí *.bat
Ano, můžeš zadat i cestu, jen pozor na to že v DOSu směla mít jen 63 znaky, takže se nedá mockrát vnořovat. Ale hodně zase uberou ty 8.3 názvy: C:\Docume~1\Moje\Pokusy\soubor.txt
Možná by bylo lepší vyrobit to ve Free Pascalu, ten by už dlouhé názvy měl umět.
Možná by bylo lepší vyrobit to ve Free Pascalu, ten by už dlouhé názvy měl umět.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 5
- 3277
-
od L.L
Zobrazit poslední příspěvek
05 úno 2025 17:42
-
- 5
- 2755
-
od petr22
Zobrazit poslední příspěvek
24 dub 2025 23:01
-
-
Sledování pomocí hodinek
od palecek » 29 srp 2024 09:47 » v Mobily, tablety a jiná přenosná zařízení - 3
- 3828
-
od GamerXXX
Zobrazit poslední příspěvek
02 zář 2024 12:25
-
-
- 10
- 3298
-
od Riviera kid
Zobrazit poslední příspěvek
16 čer 2025 06:56
-
-
Program na hledání poškozených souborů JPG Příloha(y)
od Rosta_Kolmix » 09 lis 2024 11:01 » v Design a grafické editory - 2
- 4510
-
od Minapark
Zobrazit poslední příspěvek
15 lis 2024 11:04
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti