Как выполнить командный файл на нескольких дисках - PullRequest
0 голосов
/ 01 февраля 2019
Set DriveList= "C: D: E:"
for %%A in (%DriveList%) Do (
    Dir %%A*.txt
    Dir %%A*.jpg
)
pause

Возвращает список первого каталога в списке - без каких-либо файлов, затем не перемещается на следующую букву диска в списке (D :).Требуется выполнить команды Dir для дисков c, d и e и перечислить в них любые txt или jpg файлы.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Возможная альтернатива:

@For %%A In (C: D: E:) Do @Where /R %%A *.txt *.jpg 2>Nul
0 голосов
/ 01 февраля 2019

Вы получили много помощи в разделе комментариев, но в любом случае, вот как:

@echo off
Set "DriveList=C:\ D:\ E:\"
for %%i in (%DriveList%) Do (
  dir /b /a-d %%i*.txt
  dir /b /a-d %%i*.jpg
)
pause

Обратите внимание, что выше будет искать только корень каждого диска, чтобы найти все файлы на каждомдиск, вам нужно включить переключатель /S:

@echo off
Set "DriveList=C:\ D:\ E:\"
for %%i in (%DriveList%) Do (
  dir /b /a-d /s %%i*.txt
  dir /b /a-d /s %%i*.jpg
)
pause

Я предлагаю вам прочитать справку, открыв cmd.exe и набрав:

set /?
for /?
dir /?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...