IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Командная строка
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Здравствуйте! У нас появился новый предмет «Операционные системы», и соответственно Лабораторные работы.
Вот попытался было защитить первую Лабу, но завалился на дополнительном вопросе. Преподаватель нарисовал новую схему (book.docx прикрепляю, т.к. не знаю, как тут рисовать) и дал задание – вывести список только тех файлов, находящихся в каталоге 1 (в том числе и сам каталог) , которые имеют имя и расширение одной командой!!!
Если можете, подскажите, как это сделать.
Методичка, которую он нам дал, вообще ни о чем. Она здесь же. Покажу даже саму лабораторку, которую я правильно выполнил по этой методичке.


Прикрепленные файлы
Прикрепленный файл  ______WinRAR.rar ( 32.77 килобайт ) Кол-во скачиваний: 327
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Искатель @ 2.05.2011 19:03) *
дал задание – вывести список только тех файлов, находящихся в каталоге 1 (в том числе и сам каталог) , которые имеют имя и расширение одной командой!!!

САМ каталог внутри самого себя НЕ СОДЕРЖИТСЯ. Так кто требование вывести "и его в том числе" - бессмысленно. В нем есть ССЫЛКА на самого себя, которая имеет название "." (точка), но это название не имеет расширения, так что не подходит под условие. Истинное же название каталога (book.doc) принадлежит родительскому каталогу.

То, что сам каталог внутри себя НЕ НАХОДИТСЯ, я могу подтвердить. Попробуй, находясь в этом каталоге, дать команду:
cd book.doc
Система тебе ответит, что каталог с таким именем НЕ НАЙДЕН.
Более того, попробуй СОЗДАТЬ каталог с таким именем в этом каталоге - он создастся без проблем. Но это уже совсем ДРУГОЙ каталог.

Так что требование вывести названия всех файлов каталога и В ТОМ ЧИСЛЕ название самого каталога - бессмысленно. Если условие звучит именно так - ответ простой: условие некорректно. А если ты трактовал условие вольно и допустил ошибку - приведи более точное условие, тогда продолжим разговор.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> Попробуй, находясь в этом каталоге, дать команду:
> cd book.doc
> Система тебе ответит, что каталог с таким именем НЕ НАЙДЕН.

Аргумент притянут за уши.
Попробуй сделать это из корня диска C, то же самое будет. Просто у этого каталога по отношению к каждой папке своё имя.

C:\Documents\book.doc\.
такое же полноценное имя каталога, как и
C:\Documents\book.doc

Другое дело, что да, говорить, что он внутри себя, некорректно.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 3.05.2011 10:03) *
Аргумент притянут за уши.
Попробуй сделать это из корня диска C, то же самое будет.
Здрасьте )). И зачем это я буду делать это из корня С? blink.gif
Моя задача была показать, что В ЭТОЙ папке каталога с таким именем нет.
Зачем мне из корня?

Цитата
Просто у этого каталога по отношению к каждой папке своё имя.

C:\Documents\book.doc\.
такое же полноценное имя каталога, как и
C:\Documents\book.doc

Другое дело, что да, говорить, что он внутри себя, некорректно.
Имя одно. Пути разные. Полным именем называют путь от корня + имя. Относительным именем называют относительный путь + имя. Полное имя не бывает равно имени (кроме имени корневого каталога в UNIX). Это разные вещи. Точка (".") - это алиас текущего каталога. Ты можешь поставить сколько угодно \.\.\.\.\. в конце )). Или с ".." еще больше позабавляться )).

У меня тоже много ников (алиасов, кликух, ссылок..) Имя - одно )). И если говорят про Васю, то, конечно, нужно уточнить - про Пупкина или еще какого. Но это не делает его имя никаким другим. Он - Вася )). Из рода (каталога) Пупкиных. А Пупкины в свою очередь могут быть московскими или питерскими или еще какими-то. Ну и так далее.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Действительно, может и вправду я трактовал условие вольно и допустил ошибку.
Дело в том, что очень и очень сложно понять что требует преподаватель, который говорит - что пулемёт строчит, да ещё и окончания слов глотает. Жизнь заставила пойти на разного рода ухищрения, и я додумался ходить на лекции с диктофоном.
Вот здесь то, что я смог разобрать из разговора.
А вообще, придется, наверное, завтра переспрашивать его.
Не подскажете в каком учебнике можно найти исчерпывающую информацию по всем командам?

Сообщение отредактировано: Искатель -


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
в каком учебнике можно найти исчерпывающую информацию по всем командам?
Исчерпывающую информацию лучше всего искать в файлах помощи ОС, которой ты пользуешься. Потому как от версии к версии есть изменения, скажем, в трактовках символов ? и * (в "групповых", т.е., wildcard, символах).
Start -> Help and Support -> (в строке поиска) dir

Если тебя интересует получение списка всех файлов (без директорий) из папки с именем "1", когда ты находишься в корневой папке (т.е., в "Мои документы"), то
F:\My Documents>dir /a:-d .\1\*

выведет тебе такой список... Конкретно - тебе нужен ключик /a, который позволяет отключить листинг файлов с определенными атрибутами.

То, что ты писал выше, было страшнее:
Цитата
вывести список только тех файлов, находящихся в каталоге 1 (в том числе и сам каталог) , которые имеют имя и расширение одной командой!!!
Можно трактовать еще и так: "покажи мне все файлы, которые имеют непустое расширение, а файлы без расширения - не показывай".

У команды dir нет средств, которые могут тебе получить одной командой список всех файлов с расширениями. Без расширения - есть (задается шаблон поиска с точкой в конце, тогда будут найдены все файлы, с пустым расширением, т.е., без оного), а вот с непустым - нету. Если все же надо показать все файлы с расширениями, но не показывать без расширения - я даже не знаю, возможно ли это оной командой.

Сообщение отредактировано: IUnknown -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> У команды dir нет средств, которые могут тебе получить одной командой список всех файлов с расширениями.

А маску *.* применить если?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Уважаемый TarasBer! ВЫ - просто гений! Вы первый кто догадался об этом! Дело в том, что мне тут кое кто уже дал подсказку о возможном варианте ответа. Вот: dir /s 1\*.*
Правда я ещё эту команду не опробовал...
Обращаясь к IUnknown, спрошу: выходит что в разных осях команды могут отличаться? Вот у меня, например две оси: ХР и 7.

Сообщение отредактировано: Искатель -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Я имею в виду, наоборот применить.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
А маску *.* применить если?
Под XP эта маска покажет и файлы без расширения...
Прикрепленное изображение

Цитата
в разных осях команды могут отличаться?
Я не сказал, что команды могут отличаться. Я сказал, что интерпретироваться wildcard-символы могут (и будут) по-разному. Вот тебе еще информация к размышлению:
http://www.computerra.ru/rtfm/gid/system/35795/


Сообщение отредактировано: IUnknown -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Кажется до меня дошел смысл задания!!!
Он похоже имел ввиду что, допустим с помощью команд консоли создана структура из папок (приведенная мною выше), а папках с номерами 1, 3 и 5 созданы файлы с указанными расширениями! Вот эти самые файлы и надо вывести так, чтобы одной командой! То что одной командой - это однозначно!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


В таком случае используй ключ /s (рекурсивный поиск по подпапкам) + шаблон имени... И, в следующий раз, сначала разбирайся с тем, что нужно сделать, а потом будешь спрашивать, как...

Сообщение отредактировано: IUnknown -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Спасибо за интересную статью!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name