Jump to content
BulForum.com

Въпрос към спецовете на DOS-синтаксиса


Midex

Recommended Posts

Ситуацията е следната...Имаме операционна система Win98SE с ужасния й бъг да се самоскапва, когато се трие голямо количество файлове наведнъж - явно бякакъв буфер се препълва и....дотам. Имаме и юзер (в мое лице :P ) с най-елементарни познания за DOS командите.

Както и да е...горният проблем с триенето го решавам лесно - отварям един MS-DOS Prompt и трия от там.....така не се появява никакъв проблем, дори и да са десетки хиляди файлове.

Да...ама пустия му DOS Prompt има някаква памет да помни в кои директории съм бил на всеки от дисковете и дяловете....и то когато съм го правил преди, под операционната система, а не в самия DOS Prompt.

Пример (за да стане по-ясно):

- Отварям DOS Prompt и по default първоначално той си стои на C:\Windows>.

- Искам да отида на някой друг дял, напр. D - пиша D: и се озовавам на: D:\Директория\директория\директория\директория\директория\директория\и т.н., с др.думи запомнил е, че преди 5 минути съм влизал под OS в тази незнам коя си поддиректория.

Ще кажете - ами дай CD .. няколко пъти и ще се озовеш в началото. Хубаво...само че когато съм изтрил под OS всичките тези директории, а DOS Prompt все още ги помни, ми казва че няма такава директория. Разбира се мога да създам пак цялата структура с фейк-директории и като се върна на първо ниво отново да ги изтрия, но е голяма омала и не смятам, че това е най-елегантният начин за решаване на проблема.

Да не говорим, че действам доста бързо и много не гледам в монитора докато пиша и вече на няколко пъти едва си спасявам данните заради невнимание от моя страна - веднъж даже имах директория с много файлове за триене, преименувах я на "1" (за по-лесно) и разбира се забравих да я прехвърля на първо ниво на дял "М". Отварям "М", изчатквам набързо CD 1 и без да погледна, че ми е върнало съобщение за липсваща директория...изчатквам още по-бързо познатото deltree /y *.* и си слагам сам "капака на ковчега" с ENTER....Познайте какво става с целия дял M. :ph34r:

След това лирично отклонение нека се върна пак на горния проблем - как при несъществуващи вече директории и поддиректории да изчистя "паметта" на MS-DOS Prompt или поне да намеря начин да се върна на първо ниво, без да се налага изкуствено да създавам множество една в друга директории със същите имена, с които все още ги "помни" MS-DOS Prompt.

 

Благодяря предварително на всички, които ще се опитат да помогнат, както и на тези дето са успяли да ми дочетат обърканите писания до края! :D

Link to comment
Share on other sites

- Отварям DOS Prompt и по default първоначално той си стои на C:\Windows>.

- Искам да отида на някой друг дял, напр. D - пиша D: и се озовавам на: D:\Директория\директория\директория\директория\директория\директория\и т.н., с др.думи запомнил е, че преди 5 минути съм влизал под OS в тази незнам коя си поддиректория.

 

Така както го обясни искаш като сменяш дисковете да не те връща в старата директория, а в главната на диска. Като напишеш cd d:\ ще те остави в същата директория, но ще смени директорията на другия диск, пример:

C:\Windows\

C:\Windows\ a:

A:\

A:\CD Appz

A:\Appz\

A:\Appz\C:

C:\Windows\

C:\Windows\CD a:\

C:\Windows\

C:\Windows\a:

A:\

Link to comment
Share on other sites

Правиш си един .bat файл със следните команди:

@cd d:\

@cd e:\

@cd f:\

и т.н. за всички дялове, които имаш.

и накрая слагаш

c:\windows\command\command (май command се казваше файла с промпта там).

Накрая си създаваш на десктопа примерно нов шорткът и указваш да стартира този .bat файл, който слагаш примерно в c:\dosprmpt.bat

И накрая сменяш иконата на шорткъта да е същата с навързаните букви MS DOS, ама не знам къде беше в Win98.

 

Съвет: гледай на екрана кога какво пишеш и какво казва ОС-а, никога не вреди ;) .

 

EDIT: Опа, чакай, малко глупости написах, момент да пробвам нещо.

 

EDIT2: да, поне под Win2003 работи идеално. Виж дали те устройва.

Link to comment
Share on other sites

cd \ не върши ли работа?

Върши и още как!!! :punk

Изписах 1000 думи да обясня проблема, а ми го решиха с 5. :laughing: ...а уж четох из dos командите кое-какво, ама явно толкова съм чел... ;)

Благодаря много на JDFU, а и на Forreg, въпреки че не схванах точно как точно става по неговия начин.

 

Едит: Сега видях, че и tedy се е включил....не пробвай нищо - вариантът на JDFU ми върши работа. :rolleyes:

Link to comment
Share on other sites

Върши и още как!!! :punk

Изписах 1000 думи да обясня проблема, а ми го решиха с 5. :laughing: ...а уж четох из dos командите кое-какво, ама явно толкова съм чел... ;)

Благодаря много на JDFU, а и на Forreg, въпреки че не схванах точно как точно става по неговия начин.

 

Едит: Сега видях, че и tedy се е включил....не пробвай нищо - вариантът на JDFU ми върши работа. :rolleyes:

Ама чакай, тая команда сменя директорията на текущото устройство, откъдето я пускаш, но не и на останалите 20-тиня дяла, които съм сигурен че имаш :) .

По моя начин за всички дялове се връщаш в root dir, което мислех, че е проблема.

Link to comment
Share on other sites

Ама чакай, тая команда сменя директорията на текущото устройство, откъдето я пускаш, но не и на останалите 20-тиня дяла, които съм сигурен че имаш :) .

По моя начин за всички дялове се връщаш в root dir, което мислех, че е проблема.

cd\ - Goes to the highest level, the root of the drive

Така е, но на мен ми трябва за един дял в единица време (тъй като в момента работя нещо по него), а не за всичките дялове едновременно....пък ако и на друг дял ми пише за невалидна директория не ми пречи да 'драсна' командата отново. :)

Link to comment
Share on other sites

Ето последователността на командите която гарантирано те връща на главна директория на другото

устройство независимо откъде си излязал от него:

 

C:\Documents and Settings\Administrator>d:

D:\>cd c:\

D:\>c:

C:\>

 

Тоест от другото устройство изпълняваш командата CD желано_устройство:\

и след това отиваш на него.

 

Запомнянето на поддиректорията от която си излязъл от устройството беше голямо удобство когато

трябваше да се копират група файлове от дискета примерно в този подкаталог.

 

Подробно описание на DOS командите

Link to comment
Share on other sites

Ето последователността на командите която гарантирано те връща на главна директория на другото

устройство независимо откъде си излязал от него:.....

Аха...сега схванах идеята и последователността. Това общо взето беше обяснено и от Forreg, но тогава не го разбрах, защото след cd x:\ не ме прехвърляше на х, а оставаше на текущия диск, но след последващо написване на Х:, вече ме прехвърля на първо ниво на Х. Ето пример с С: и някакъв друг дял:

dosfp8.jpg

 

Сега ми се изясни положението. Благодаря на всички! :rolleyes:

Link to comment
Share on other sites

Midex, има нещо гнило в обясненията ти.

Според фермана ти разбрах следното, че се случва:

Отваряш MSDOD Prompt. Появява се директно C:\Windows.

Пишеш M: и се появява директно M:\Directory1\Directory2\Directory3>_

само защото в Windows Explorer примерно преди това си разцъквал тази 3-нивова директория?

Или в предишна сесия с промпта си я посещавал и при последващо отваряне на промпта и писането на M: [Enter] отново се появява M:\Directory1\Directory2\Directory3>_

?

Защото току що разцъках един Win98 и нищо от това не се случва, при отваряне на MSDOS Prompt и отиването в друг дял, различен от системния, се появява точно главната директория D:\>_

Така че според мен проблемът ти е бил единствено защото като отвориш току що промпта, и виждаш C:\Windows.

За целта в Пропертиес на шорткъта има поле Start In, и там просто можеш да напишеш в коя директория да те стартира промпта, т.е. коя да е текуща при отварянето на линка.

Link to comment
Share on other sites

Midex мога да ти препоръчам една идеална програмка за работа с файлове - Total Commander

Можеш да си е свалиш от тук да е пробваш http://www.ghisler.com/

Ползвам е още от както беше Windows Commander и съм много доволен от нея.

Link to comment
Share on other sites

@tedy, поработи около десетина минути под 98SE - нормална работа...отваряй директории на различните дялове, копирай, трий, стартирай програми и т.н. След това си отвори DOS Prompt-а и мини последователно през всичките си дялове - гарантирам ти, че поне на половината от тях ще видиш, че са в поддиректории.

На мен също ми е леко казано странно как действа въпросната "памет" на Prompt-а, защото не е много разбираема как и кога зацепва....с др. думи не се проявява абсолютно винаги и регулярно при посещение на всеки дял, директория и поддиректория (правил съм си доста експерименти). Просто по някой път му щуква нещо и запомня за определен дял къде съм бил преди определено време....единствено предвидим е при първоначално стартиране, където веднага те вкарва в Windows.

 

@aXe, тъй като проблемът е в самата структура на операционната система, мислиш ли че Total Commander ще разреши този проблем? Имам предвид дали ако избера през него да изтрия папка с 10 000 файла, бозата няма отново да забие?

 

П.П. За мен идеалният вариант би бил да се напише някакъв bat файл за триене под DOS, после да го вкарам в "Send To" папката и като ми потрябва да трия директория с много файлове просто чуквам върху нея с десен бутон->Send To->xxx.bat....ама съм бос в тия работи и не се сещам какво да пиша в bat файла. :sick

Link to comment
Share on other sites

Лично аз с него съм трил по 200 000 файла на веднъж под Win98 и няма никакви проблеми.

 

Може да си направиш bat файл с notepad

 

@echo off
deltree /y %1

 

запазваш го като "erase.bat" или както искаш да се казва и го слагаш в SendTo

 

После отиваш в папка -> с дясното копче на нея -> SendTo -> еrase.bat (или както си го кръстил) и ще ти е изтрие.

 

**edit

Ако нямаш deltree командата "del %1\. /s/q" мисля, че върши същата работа, но не съм го пробвал на 98, за ХР работи

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...