CMD

HackForum

CMD#
Zdar
Jenom taková drobnost... Když chci výpis příkazu tree dostat do souboru tak se snažim použít neco jako tree => tree.txt ale nefujguje mi to... do souboru se zapíše jenom:
Folder PATH listing
Volume serial number is 5825-3A3E
C:\DOCUMENTS AND SETTINGS\*******\=
Invalid path - \DOCUMENTS AND SETTINGS\*******\=
No subfolders exist

a to že tam nejsou pod složky neni pravda... pokud to zadam jenom do cmd tak se příkaz tree vykoná správně... stejně třeba když udělam dir => dir.txt tak to proběhne v pořádku...


Nějakej nápad jak to řešit nebo čim to je?


----------
Punk will never be dead to me. It's my life. I can never just drop this lifestyle. It embodies me.
(odpovědět)
|>011'/ | E-mail19.2.2008 16:13
re: CMD#
Dík... už funguje jak má... Jo a když tam to = nemá co dělat tak proč třeba u dir widlím vůbec nevadí a vesele vytvoří novej soubor a zapíšou do něj vypís souborů?

----------
Punk will never be dead to me. It's my life. I can never just drop this lifestyle. It embodies me.
(odpovědět)
|>011'/ | E-mail19.2.2008 16:19
re: CMD#
|>011'/: Vypada to , ze dir se chova ke znaminku '=' jakoby tam vubec nebylo , je redundantni...

Prikaz tree takovouto anomalii nepodporuje...

znamenko '>' slouzi k presmerovani standardniho vystupu misto na obrazovku do souboru , tedy dir pouzivat bez '='

A k presmerovani vystupu do soubory tedy tree > soubor.txt

----------
Niemand ist so gut,wie er denkt ;)
(odpovědět)
Darth | E-mail19.2.2008 17:12
re: CMD#
Darth: myslím, že je to stejné v cmd i v bashi: řídící znaky jako >, >>, <, << nezpracovává volaný program (v tomto případě dir nebo tree), ale cmd.

Proto je význam znaku => a > vždy stejný, ať voláš jakýkoli program.
--------
teď k tomu význam => :

není to '=>' obdoba '2>' v linuxu, tedy přesměrování chybového proudu? Protože podle toho, co ti tam ten tree vypsal by to sedělo...

----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website19.2.2008 17:20
re: CMD#
mr.Crow: netušim ale dir => soubor.txt vytvoří totožný soubor jako dir > soubor.txt

----------
Punk will never be dead to me. It's my life. I can never just drop this lifestyle. It embodies me.
(odpovědět)
|>011'/ | E-mail19.2.2008 17:42
re: CMD#
to mě na tom pravě mate. Asi dir posílá seznam položek v adresáři na standartní výstup i na chybový výstup (což mi příjde dost nelogický).

teda, jestli se ve windows vůbec něco jako proudy objevilo? :-)

----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website19.2.2008 18:11
re: CMD#
no vzdyt je to uplne jasny :)

.. 1) zkus si v cmdcku tree .. jede to ok
.. 2) zkus si tree = .. ano vyhodi to tvoji chybu, protoze je to nespravna syntaxe (?)

a ted tree > tree.txt .. ano, vypise to samo jako v 1), akorat do souboru tree.txt a ted tree =>tree.txt, opet vypise to same jako v 2), ale do souboru tree.txt .. tudiz, neovlivnuje to zapis (ten se samozrejme provadi pomoci '>' nebo '>>'), ale ovlivnuje to samotne zpracovani prikazu, u ktereho '=' zpusobi chybu.. a vystup se pak zapise do tree.txt

'>' nedela nic jineho nez to co by se melo zapsat na screen, presmeruje do souboru - i s chybama, ale '>' - prikaz sam zadne chyby negeneruje ;)

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail19.2.2008 19:17
re: CMD#
Anonymous_ : ano přesně tak... tohle všechno už vím(e) ale jde o to že nevíme (nebo minimálně já) proč se příkaz dir = prodede korektně kdežto tree = nekorektrně....

----------
Punk will never be dead to me. It's my life. I can never just drop this lifestyle. It embodies me.
(odpovědět)
|>011'/ | E-mail19.2.2008 19:35
re: CMD#
protoze tree bere '=' jako soubor/slozku, takze pak se snazi udelat vypis z 'aktualni adresar v cmd/=' a pokud slozka '=' neexistuje tak to vyhodi chybu, dir '=' jako slozku/soubor nebere, ale treba kdyz misto =, pouzijes treba pismenko, tak se stano to samy - i u dir, protoze dir asi proste nebere specialni znaky a tree jo. viz.


C:\Documents and Settings\uziv>tree C
Výpis CESTY složky
Sériové číslo svazku je 2823-C2ED
C:\DOCUMENTS AND SETTINGS\uziv\C
Chybná cesta k souboru - \DOCUMENTS AND SETTINGS\uziv\C
Neexistují podadresáře


C:\Documents and Settings\uziv>dir C
Svazek v jednotce C nemá žádnou jmenovku.
Sériové číslo svazku je 2823-C2ED.

Výpis adresáře C:\Documents and Settings\uziv

Soubor nebyl nalezen.


proste m$soft udelal kazdej prikaz jinak, sice to nedava logiku, ale je to tak, jeden bere i spec. znaky jako vstup, a druha fce to ignoruje a jako vstup to nebere.. proc tomu tak je, to nevim ;)

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail20.2.2008 10:40
re: CMD#
Protože CP/M, dir má kód obšlehnutý z původního CP/M kódu, takže znaky jako /, = a podobně v parametru ignoruje (jako by to byla mezera).
Do tree to nedali, protože to si už asi dělal Microsoft sám (nebo to pro ně dělala nějaké externí firma, která s kódu původních CP/M příkazů nevycházela).
Jo, trosky CP/M 2.2 edition 1979 ve WIndows Vista 2007 edition, to je kanonáda :o)
Sources k porovnání zde:
[link] CP/M
[link] MS-DOS 6.0
(odpovědět)
gugumaa | 195.113.79.10/10.0.10.*21.2.2008 15:59

Zpět
 
 
 

 
BBCode