Из письма в ПМ:
Не затруднит.
Проверяем, был ли вызван пакетный файл с аргументом или без. Для этого:
1. Присваиваем переменной окружения «sName» первый аргумент пакетного файла:
Код:

set sName=%~1
Если пакетный файл был вызван без аргумента (т.е. «%~1» — пусто), то команда, наоборот, удалит переменную «sName».
2. Теперь проверяем, определена ли переменная окружения «sName»:
Код:

if not defined sName …
И, если — нет, выводим сообщение об использовании пакетного файла и завершаем его работу:
Код:

…echo Usage: %~nx0 ^<filename^>& exit /b 1
«%~nx0» — расширяет стандартную переменную окружения «%0» (имя пакетного файла) до имени («n») и расширения («x») (читаем справку «call /?»).
Символы перенаправления «<» и «>» для вывода экранируем с помощью «^».
Код:

for /f "usebackq skip=1" %%i in (
`wmic.exe LogicalDisk WHERE "DriveType='3'" GET Caption`
) do …
«wmic.exe LogicalDisk WHERE "DriveType='3'" GET Caption» выводит информацию о буквах («Caption») разделов («LogicalDisk») жёстких несъемных дисков («DriveType='3'»), наподобие:
Код:

Caption
C:
D:
E:
F:
H:
разбор которой мы делаем с помощью «for /f».
В команде «wmic.exe» используются как одинарные, так и двойные кавычки. Посему используем новую семантику обработки строки: «usebackq», а саму команду заключаем в обратные кавычки.
Строка заголовка «Caption» нам не нужна — отсекаем её («skip=1»). Получившиеся буквы дисков используем дальше как «%%i» в:
Код:

for /f "tokens=*" %%j in (
'dir /b /s /a:-d "%%i\%sName%"'
) do …
Здесь мы просто запускаем рекурсивный («/s») поиск («dir») файла («%sName%») для каждой из найденных выше букв разделов («%%i»), отсекая при этом папки («/a:-d») и оставляя в выводе только полный путь к файлу («/b»).
Далее мы запускаем Блокнот для каждого из найденных файлов:
Код:

start "" "%systemroot%\System32\notepad.exe" "%%j"
Кавычки «""», указанные сразу после «start» — это пустая строка заголовка. Если не указать здесь пустые кавычки, то команда «start» воспримет в качестве заголовка строку «"%systemroot%\System32\notepad.exe"». Подробности, как обычно, в «start /?».
Примерно так.
P.S. Подобные вопросы следует задавать непосредственно в теме, ибо:
* ответ в любом случае появится там же, поскольку ограничение на размер письма в ПМ не позволяет ответить иначе, нежели в теме;
* задавая вопрос не на форуме, а одному человеку в ПМ, Вы резко сокращаете аудиторию, которая могла бы дать Вам ответ.
Помимо Iska на форуме более чем достаточно участников, могущих и умеющих помочь.
P.P.S.
Цитата ConMan:
…который ты мне написала…
|
. Аз есмь «душа мужеска полу»: как «Никита», «Гаврила», «Илья» и т.п.