
Umějí dávkové soubory pracovat s atributy "šifrovaný" a "komprimovaný? Nebo je třeba užít skripty?
Dobré odpoledne, umí příkazový řádek ve Windows 2000/XP pracovat s atributy "šifrovaný" a "komprimovaný? Je možné napsat dávku, která by například vypsala všechny soubory s atributem "šifrovaný" ve složce C:\Test? Nebo se pro tento úkol musí použít nějaký skript? Může prosím někdo uvést příklad takové dávky/skriptu? Předem děkuji za váš čas.
Zkus se podívat sem:
339
http://msdn2.microsoft.com/en-us/library/5tx15443.a spx
http://www.aspfree.com/c/a/Windows-Scripting/Advanc ed-Files-and-Folders-in-WSH/2/
Děkuju za tipy, hoste. Předem se omlouvám za svou omezenost, ale řešení toho problému tam nějak nevidím. Atribut "šifrovaný" je jen v tom prvním odkazu, v dalších ne. Protože o skriptování vím v zásadě jen to, že existuje, nějak si to asi neumím spojit. Jestli tam to řešení je, moc prosím o jeho vložení sem pokud možno přímo v aplikovatelné podobě.
Jakápak omezenost, žádný učený z nebe nespadl (touchwood je vyjímka
)
Zkus to nějak takhle:
co to vidím?
blik!
OK tak sem překopíruju jeden z tech skriptů
Myslím že je to docela výmluvný. strFilePath obsahuje cestu k souboru. Atributy se pak dají
zjištovat přes objekt objFile. Pokud je soubor šifrovaný, objFile.Encrypted je true, jinak false.
Takže třeba tohle:
strFilePath = "d:"
WScript.Echo " Encrypted: " & objFile.Encrypted
WScript.Echo " Compressed: " & objFile.Compressed
mně vyhodí všechny komprimované a šifrované soubory na disku D:?
Ne.
Ten skript je pro vypsání informací o jednom souboru. Pokud chceš projít všechny soubory v definovaném adresáři, je nutno použít nějaký cyklus (smyčku).
A jak se taková smyčka vytváří? Jestli ji umíš vytvořit, mohl bys mně ten skript napsat? Můžeme zůstat u toho příkladu výše s cílem najít a zobrazit všechny soubory na disku D: s atributem "šifrovaný" nebo "komprimovaný".
Ukázku smyčky už jsem ti psal v předchozím příkladu
Takže třeba takhle?
strFilePath = "d:"
for each objFile in files
WScript.Echo " Encrypted: " & objFile.Encrypted
WScript.Echo " Compressed: " & objFile.Compressed
Než se pustíš do skriptování, měl bys projet aspoň základy
Skloubil jsem hostův kód s tím z odkazu a vyšlo
Basic jsem opustil už dávno tak je to taková slátanina... ale funguje
Perfektní, Mitchi. Funguje na Win 2000 i na XP. Můžu jen ještě poprosit o radu, jak to udělat, aby to projelo i podsložky a ignorovalo soubory, které nejsou ani šifrované ani komprimované? Tak aby výsledek byl seznam jenom souborů šifrovaných či komprimovaných ve všech složkách i podsložkách na disku. Předem děkuju za tu spoustu času, kterou jsi tomu už věnoval.
Podívám se na to o víkendu jestli to nějak nespěchá.
v zásadě je potřeba napsat to rekurzivně (tj. udělat si funkci) a tou projíždět všechny adresáře, a znova vyhledat adresáře a ty předat jako parametry dané funkci (+ samozřejmě to tvé vyhledávání)
Napsal bych to, je to otázka max. 30 minut, ale v souč. době na to prostě nemám čas.
Ten Basic to je strašně ukecanej jazyk
Je to dělaný pro konzoli a přijímá jeden parametr a to je složka ve které to má začít. Když to uložíš jako skript.vbs a budeš chtít projet celý C tak to pusť..
Skript zobrazí jen soubory které jsou buď komprimované nebo šifrované a za jejich názvem pak C pro komprimovaný soubor a E pro šifrovaný.
//EDIT: Dalo by se to možná řešit i SQL dotazem ale nějak se mi to nepodařilo zprovoznit.
Mitchi, smekám před tvými schopnostmi a jsem tvým (alespoň virtuálním) dlužníkem. Skript funguje na obou platformách bezchybně přesně tak, jak jsem potřeboval. Snad jen ještě jeden minidetail. Při testování skript narazil na složku dllcache, kde je velké množství komprimovaných souborů. Seznam na příkazovém řádku byl tak dlouhý, že na obrazovce zůstal jen jeho konec. Dá se v příkazovém řádku nějak "doskákat" dopředu na začátek toho seznamu?
proč si výstup nepřesměruješ do souboru?
příklad:
Touchwoode, děkuju. Tím je můj problém vyřešen dokonale a se vším všudy. Ještě jednou děkuju všem, kteří se zapojili, za jejich čas a ochotu pomoci.