![]() |
Поиск и отображение содержимого файла
Ребят, мне нужно написать пакетный файл, предназначенный для организации процесса поиска и отображения текстового файла. Поиск осуществляется по всем локальным дискам. Имя текстового файла задается пакетным параметром. После того как необходимый файл найден,в автоматическом режиме осуществляется его отображение в текстовом процессоре Блокнот.
Поддержите пожалуйста:) |
Например, так:
Код:
@echo off |
Спасибо за ответ. Попробовал, командная строка открывается и тут же закрывается, где то паузы не хватает мб?
|
Цитата:
ConMan, попробуйте для начала отдельно выполнить там же это: Код:
wmic.exe LogicalDisk WHERE "DriveType='3'" GET Caption |
Всё, работает, премного благодарю:)
|
ConMan, возможно, Вы до этого ни разу не запускали «wmic.exe» — при первом запуске она выдаёт несколько больше информации, чем требовалось.
|
Из письма в ПМ:
Цитата:
Проверяем, был ли вызван пакетный файл с аргументом или без. Для этого: 1. Присваиваем переменной окружения «sName» первый аргумент пакетного файла: Код:
set sName=%~1 2. Теперь проверяем, определена ли переменная окружения «sName»: Код:
if not defined sName … Код:
…echo Usage: %~nx0 ^<filename^>& exit /b 1 Символы перенаправления «<» и «>» для вывода экранируем с помощью «^». Код:
for /f "usebackq skip=1" %%i in ( Код:
Caption В команде «wmic.exe» используются как одинарные, так и двойные кавычки. Посему используем новую семантику обработки строки: «usebackq», а саму команду заключаем в обратные кавычки. Строка заголовка «Caption» нам не нужна — отсекаем её («skip=1»). Получившиеся буквы дисков используем дальше как «%%i» в: Код:
for /f "tokens=*" %%j in ( Далее мы запускаем Блокнот для каждого из найденных файлов: Код:
start "" "%systemroot%\System32\notepad.exe" "%%j" Примерно так. P.S. Подобные вопросы следует задавать непосредственно в теме, ибо: * ответ в любом случае появится там же, поскольку ограничение на размер письма в ПМ не позволяет ответить иначе, нежели в теме; * задавая вопрос не на форуме, а одному человеку в ПМ, Вы резко сокращаете аудиторию, которая могла бы дать Вам ответ. Помимо Iska на форуме более чем достаточно участников, могущих и умеющих помочь. P.P.S. Цитата:
|
!!!!! Спасибо, добрый человек:)
|
еще раз здравствуйте,у меня попалось точно такое же задание,но после использования батника,он выдает
И, если — нет, выводим сообщение об использовании пакетного файла и завершаем его работу: Код: …echo Usage: %~nx0 ^<filename^>& exit /b 1 как сделать что бы он определял переменную окружения??? |
apostroff, нет нужды дублировать свои посты сообщением в личку.
Ваш вопрос не понятен. Начните с формулировки: Цитата:
Цитата:
|
Разобрался.)просто не хватало терпения:)жесткий на 2 тб .
Спасибо все работает:) |
Помогите пожалуйста выполнить в точности тоже задание только на Unix
|
SAPRICOMANDA, Вы не в тот раздел попали. Вам куда-то сюда: Программирование в *nix.
|
И снова здравствуйте)
код: if not defined sName echo Usage: %~nx0 ^<filename^>& exit /b 1 условие выполняется, то есть результат - Usage: name.bat, далее ничего прикладываю скрин по wmic.exe. локальные диски то он находит. где копать? Цитата:
|
Вложений: 1
Скрин:
|
IIypsik, смотрите:
Цитата:
Код:
"name.bat" "My text file.txt" |
Iska, а если set /p использовать с переменной средой?вводить же тогда пользователь будет, что он хочет найти. Или я Вас не понял? :D
Iska, дошло, спасибо, все получилось. :up |
Цитата:
|
Время: 06:01. |
Время: 06:01.
© OSzone.net 2001-