วิธีสร้างโครงสร้างโฟลเดอร์เฉพาะภายในโฟลเดอร์ย่อยหลาย ๆ โฟลเดอร์


0

ฉันมีโครงสร้างโฟลเดอร์ที่มีลักษณะเช่นนี้

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-drivertypes.sh

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

โดยพื้นฐานแล้วสคริปต์เพิ่งสร้างโครงสร้างโฟลเดอร์เพื่อให้มีไดรเวอร์สำหรับแต่ละประเภทที่ฉันกำลังทำอยู่

นี่คือโครงสร้างของโฟลเดอร์ 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_drivertypes.sh ไปยังโฟลเดอร์ที่กำหนดซึ่งสอดคล้องกับผู้ผลิต / รุ่น / ซีรีส์โดยเรียกใช้สคริปต์ซึ่งจะสร้างโครงสร้างโฟลเดอร์จากนั้นสคริปต์จะลบตัวเองออกจากไดเรกทอรีนั้น

อย่างไรก็ตามตอนนี้เรามีชุดไดรเวอร์ Windows 10 จำนวนมากเพื่อจัดระเบียบสำหรับเครื่องรุ่นเดียวกันทั้งหมด ฉันสร้างโฟลเดอร์ Windows 10 คัดลอกโครงสร้างระดับบนสุดของโฟลเดอร์ Windows 7 โดยใช้ ls -1b (ฉันทำสิ่งนี้บน Mac btw) ซึ่งสร้างรูปแบบรายการแบบยาวโดยไม่ได้รับอนุญาตหรือเจ้าของไฟล์ . ฉันใช้รายการนั้นเพื่อสร้างสคริปต์ mkdir อีกตัวเพื่อสร้างโครงสร้างระดับบนสุด แต่ตอนนี้ฉันกำลังมองหาวิธีการสร้างโฟลเดอร์ไดรเวอร์ในแต่ละโฟลเดอร์โดยอัตโนมัติโดยไม่ต้องเรียกใช้สคริปต์ในแต่ละโฟลเดอร์

ดังนั้นคำถามของฉันคือฉันจะสร้างโฟลเดอร์ย่อยได้อย่างไรใน \ Windows 10 \ Manufacturer Model Series \ โดยใช้สคริปต์ mkdir_drivertypes.sh ของฉัน

ฉันพอใจกับวิธีการทางเลือก (ฉันคาดเดาโดยสิ้นเชิงว่ามีทางเลือกที่ดีที่ฉันไม่ได้พิจารณา) สำหรับการสร้างโฟลเดอร์ย่อยเหล่านี้เช่นกัน ..

คำตอบ:


1

ต่อไปนี้จะทำงาน bash - ดังนั้น Mac, Linux และ Windows 10 ที่มี bash

แทนที่จะคัดลอกสคริปต์ของคุณ mkdir_drivertypes.sh รอบพิจารณาฟังก์ชั่นทุบตีในของคุณ .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:

ทางออกที่สง่างามและใช้งานได้! ขอบคุณ!
Richie086
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.