Másolni fog, vagy nem.
A copy másolás, a *.* minden név.kiterjesztés, a /b -t nem tudom és nem vagyok hajlandó most utána nézni, a + szintén zenész. De nincs cél útvonal, így ebben a formában naívan és vállalva az egyest, azt mondom, hogy semmit nem csinál.
Azért visszakérdeznék a tanárnak: mit csinál a dblspace.bin Dos 6.20-as környezetben? ;)
A /b kapcsoló az állományokat bináris állományokként kezeli - tehát másolni fogja a fájl vége (EOF, End of file: [link] ) karaktert is az állományokban.
A *.* egy helyettesítő (wildcard) jelölés, az összes fájlnevű, összes kiterjesztésű állományra vonatkozóan.
A +-nak több fájl összefűzésénél lenne értelme - jelen esetben nincs:
Bővebben:
* [link]
* [link]
Bináris másolás.
Anno élesen megkülönböztették a bináris és szöveges fájlokat, például egészen a közelmúltig ha FTP-n akartál valamit le- (vagy fel-)tölteni, akkor meg kellett adnod, hogy bináris legyen, máskülönben ASCII módban dolgozott, és ami nem szövegfájl volt, ahelyett csak hulladék töltődött le. (Szerencsére ma már az FTP szerverek 99%-a alapból bináris módot feltételez.)
A copy parancsnál is meg lehet adni, hogy bináris (/b) vagy szöveges (/a) fájlról legyen-e szó. Utóbbi setben ha #26-os bájtot talál, befejezi a másolást. Elvileg ugyanis a szövegfájloknak fájlvége-jellel kell végződniük, de a gyakorlatban ennek kb. 30 éve volt utoljára jelentősége. Ha nem adjuk meg, hogy milyen módban másoljon, akkor (legalábbis mai rendszereken) bináris módban fog másolni.
De!
Van egy másik alkalmazási módja is a copy-nak, mégpedi a fájlok összefűzése. Na, itt alapból viszont szövegfájlokat feltételez. Tehát a copy 1.txt + 2.txt 3.txt parancs az 1.txt és 2.txt fájlokat egyesíti a 3.txt fájlban. Mindezt ASCII módban, tehát ha nem nyers szövegfájlról van szó, akkor ez nem fog helyesen működni. Ilyenkor elengedhetetlen a /b kapcsoló. Például ha két mp3-fájlt akarsz egymás után fűzni (igen, működik, lehet ilyet!), akkor a copy /b 1.mp3 + 2.mp3 3.mp3 parancsot kell használni.
A kérdésben szereplő parancs ilyen formán viszont értelmetlen. Kipróbáltam, és semmit nem csinált a fájlokkal, csak megváltoztatta a módosítási idejüket az aktuális dátumra/időpontra.
#4: Azért nem is olyan rég még nem volt mindegy, hogy *-ot, vagy *.*-ot használtál, és azért nem olyan hű, de nagy baj, ha az ember törekszik a kompatibilitásra. Véletlenül belefut egy olyan gépbe, ahol régebbi rendszer fut, és máris nem úgy működik a "sima" *.
#3: Mi köze ennek az MS-DOS-hoz? Ja, hogy még nem fedezted fel, hogy parancssor van Windowsban is? Sőt, egyre nagyobb szerepet kap, főleg szerver környezetben.
A COPY parancs másolást jelent.
A *.* direktíva (joker) pedig azt, hogy bármilyen nevű és kiterjesztésű file-t másoljon a parancs [tehát a teljes könyvtártartalmat]. Kényelmi funkció. Így nem kell egyenként begépelni az állmányok nevét és kiterjesztését.
A *.jpg direktíva csak a jpg kiterjesztésű file-okat másolja.
A munka.* direktíva pedig minden olyan file-t másol, amelynek a neve 'munka', bármi is legyen az ilyen nevű file-ok kiterjesztése.
A *.* direktívát egyébként ki lehet váltani a . direktívával.
A COPY parancsnak a mit (*.* = minden) mellett azt is meg kell mondani, hogy hova másoljon, tehát a célkönyvtár [vagy a célállomány] útvonala/neve is kell a parancshoz.
Helyesen így néz ki:
copy c:\forraskonyvtar\*.* d:\celkonyvtar\
rövidebben ugyanez:
copy . d:\celkonyvtar\
A forráskönyvtár útvonala és neve nem feltétlenül szükséges, hiszen ahol éppen tartózkodik a prompt, onnan fog a másolás megkezdődni, feltéve ha az a könyvtár éppen nem üres.
A 'b' kapcsoló pedig valóban bináris módot aktivál.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!