У меня есть структура папок, которая выглядит следующим образом

drwxrwxr-x+  9 root            admin       306 May  3 10:19 .
drwxrwxrwx  15 root            admin       510 May  5 16:14 ..
drwxr-xr-x+  3 root            admin       102 May  3 10:19 Scripts
drwxr-xr-x+ 74 root            admin      2516 May  3 10:20 Windows 10
drwxr-xr-x  90 root            admin      3060 May  3 10:03 Windows 7

Внутри папки /Scripts у меня есть следующий скрипт

mkdir_drivertypes.sh

Вот содержимое скрипта mkdir-dri нужно:

mkdir BIOS
mkdir Video
mkdir Audio
mkdir Network
cd Network
mkdir Wired
mkdir Wireless
mkdir Bluetooth
cd .. 
mkdir Chipset
mkdir Modem
mkdir System
mkdir Storage
mkdir Other
mkdir Input
rm mkdir_drivertypes.sh

По сути, скрипт просто создает структуру папок, в которой содержатся драйверы для каждого типа, для которого я mkdir'ing.

Вот структура папки Windows 7:

drwxrwxr-x+ 10 root  admin      340 Apr 28 09:28 Alienware 14
drwxrwxr-x+ 12 root  admin      408 Apr 21 10:11 Alienware 17
drwxrwxr-x+ 13 root  admin      442 Apr 28 08:44 Alienware Aurora
drwxrwxr-x+ 13 root  admin      442 May  2 08:42 Alienware Aurora r2
drwxrwxr-x+ 12 root  admin      408 Apr  6 09:30 Alienware Aurora r3
drwxrwxr-x+ 14 root  admin      476 Apr  5 07:53 Alienware Aurora r4
drwxrwxr-x+ 12 root  admin      408 Mar 28 08:32 Alienware m11x r2
drwxrwxr-x+ 12 root  admin      408 Mar 25 12:02 Alienware m11x r3
drwxrwxr-x+  6 root  admin      204 Apr 26 12:51 Alienware m14
drwxrwxr-x+ 12 root  admin      408 Apr 28 08:58 Alienware m14x
drwxrwxr-x+ 14 root  admin      476 Mar 28 09:29 Alienware m14x r2
drwxrwxrwx+ 11 root  admin      374 Apr 28 08:43 Alienware m15x
drwxrwxr-x+ 10 root  admin      340 Apr 26 08:58 Alienware m17x r2
drwxrwxr-x+ 11 root  admin      374 Apr 26 12:20 Alienware m17x r3
drwxrwxr-x+ 14 root  admin      476 Apr 26 12:20 Alienware m17x r4
drwxrwxr-x+ 12 root  admin      408 Apr  7 11:17 Alienware m18x
drwxrwxr-x+ 15 root  admin      510 Mar 28 09:57 Alienware m18x r2
drwxrwxr-x+ 13 root  admin      442 May  2 08:30 Alienware x51
drwxrwxr-x+ 15 root  admin      510 May  1 21:36 Alienware x51 r2
drwxrwxr-x+ 31 root  admin     1054 May  1 14:44 Dell Inpirion 17 n7010
drwxrwxr-x+ 16 root  admin      544 Mar 28 10:54 Dell Inspiron 14r n4010
drwxrwxr-x+ 13 root  admin      442 May  2 08:53 Dell Inspiron 14r n4110
drwxrwxrwx+ 35 root  admin     1190 Apr 28 00:15 Dell Inspiron 15 n5010
drwxrwxr-x+ 13 root  admin      442 Mar 28 11:09 Dell Inspiron 15 n5050
drwxrwxr-x+ 13 root  admin      442 May  2 09:03 Dell Inspiron 15r 5520
drwxrwxr-x+ 12 root  admin      408 Mar 28 11:23 Dell Inspiron 15r 5537
drwxrwxr-x+ 15 root  admin      510 Mar 28 11:34 Dell Inspiron 15r n5110
drwxrwxr-x+ 13 root  admin      442 Apr 25 11:17 Dell Inspiron 17 3721
drwxrwxr-x+ 13 root  admin      442 Apr 22 08:20 Dell Inspiron 17r 5721

И так, и так далее, вы получаете идею - каждая папка Windows содержит название производителя, модель, серию и т.д.

Ранее я копировал файл mkdir_driaritypes.sh в заданную папку, соответствующую производителю / модели / серии, выполняя сценарий, который создавал бы структуру папок, а затем сценарий удалял себя из этого каталога.

Тем не менее, теперь у нас есть огромная коллекция драйверов для Windows 10 для всех одинаковых моделей машин. Я создал папку Windows 10, скопировал структуру верхнего уровня папки Windows 7, выполнив команду ls -1b (я делаю это на Mac Mac), которая производит вывод в формате длинного списка без каких-либо разрешений или владельцев файлов / папок. , Я использовал этот список для создания другого скрипта mkdir для создания структуры верхнего уровня, но сейчас я ищу способ автоматизировать создание папок драйверов в каждой папке автоматически, без необходимости запуска скрипта для каждой папки.

Поэтому мой вопрос заключается в том, как мне автоматизировать создание подпапок в \Windows 10 \Manufacturer Model Series \, используя мой сценарий mkdir_dri нужно: .sh?

Я в порядке с некоторым альтернативным методом (я полагаю, есть хороший альтернативный метод, который я не рассматриваю) для создания этих подпапок, а также ..

1 ответ1

1

В bash будет работать следующее: Mac, Linux и скоро Windows 10 с bash.

Вместо того, чтобы копировать ваш скрипт mkdir_drivertypes.sh , рассмотрите функцию bash в вашем .bash_profile . Например, следующий контент в вашем ~/.bash_profile позволит вам создать необходимую структуру каталогов в вашем текущем рабочем каталоге .:

mkdir_drivertypes()
{
    mkdir -p ./{BIOS,Video,Audio,Network,Chipset,Modem,System,Storage,Other,Input}
    mkdir -p ./Network/{Wired,Wireless,Bluetooth}
    return 0
}

Вы можете выйти из своего терминала и открыть новый, чтобы получить доступ к функции или source ~/.bash_profile чтобы получить доступ к нему в вашем текущем терминале.

cd в каталог, в котором вы хотите создать структуру каталогов, а затем выполните mkdir_drivertypes .

В моей системе:

$ cd Windows10\Manufacturer\Model
$ pwd
/Users/waywardone/Windows10/Manufacturer/Model
$ mkdir_drivertypes 
$ ls -R
Audio   BIOS    Chipset Input   Modem   Network Other   Storage System  Video
./Audio:
./BIOS:
./Chipset:
./Input:
./Modem:
./Network:
Bluetooth   Wired       Wireless
./Network/Bluetooth:
./Network/Wired:
./Network/Wireless:
./Other:
./Storage:
./System:
./Video:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .