Kezdőoldal » Számítástechnika » Programozás » Copy /b *. * + Mit csinál ez...

Copy /b *. * + Mit csinál ez az utasítás és miért?

Figyelt kérdés

2020. ápr. 30. 21:02
 1/8 anonim ***** válasza:
Hol?
2020. ápr. 30. 21:07
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
ms dos. windóz 10 is, cmd
2020. ápr. 30. 21:10
 3/8 anonim ***** válasza:
12%

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? ;)

2020. ápr. 30. 22:02
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
3%
Ez a parancs még túl is van bonyolítva. *.* helyett simán * is elég lenne, ha nem lenne ez a kiterjesztés mánia.
2020. ápr. 30. 22:13
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
100%

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:

[link]


Bővebben:

* [link]

* [link]

2020. ápr. 30. 23:41
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
91%

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.

2020. máj. 1. 00:19
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Process Monitor:

[link]

segítségével megfigyelhető, mit történik a művelet közben:

[link]

a kijelölt sorban kezdődik az első fájl létrehozása, 1:05:05.3417261-kior a második, 1:06:48.9915498 környékén kezdődik a másolás.

2020. máj. 1. 01:50
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

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.

2020. máj. 1. 02:34
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!