ในการทำงานโดยกำเนิดคุณอาจต้องใช้ Cygwin (ซึ่งฉันขาดไม่ได้เมื่อใช้ Windows) ทันทีที่ค้างคาว +1 สำหรับ Cygwin สิ่งอื่นใดจะไร้อารยธรรม
อย่างไรก็ตามตามที่กล่าวไว้ฉันเพิ่งเริ่มใช้ยูทิลิตี้รวมกันเพื่อ PORT Bash scripts ไปยัง Windows ได้อย่างง่ายดายเพื่อให้เพื่อนร่วมงานต่อต้าน Linux ของฉันสามารถทำงานที่ซับซ้อนได้อย่างง่ายดายซึ่งยูทิลิตี้ GNU จัดการได้ดีขึ้น
โดยปกติฉันสามารถพอร์ตสคริปต์ Bash ไปยัง Batch ได้ในเวลาอันสั้นโดยเปิดสคริปต์ต้นฉบับในบานหน้าต่างเดียวและเขียนไฟล์ Batch ในบานหน้าต่างอีกบาน เครื่องมือที่ฉันใช้มีดังนี้:
ฉันชอบ UnxUtils มากกว่า GnuWin32 เนื่องจากว่า [ใครบางคนโปรดแก้ไขฉันถ้าฉันผิด] โดยปกติแล้วยูทิลิตี้ GnuWin จะต้องได้รับการติดตั้งในขณะที่ UnxUtils เป็นไบนารีแบบสแตนด์อโลนที่ใช้งานได้ทันที
อย่างไรก็ตาม CoreUtils ไม่มียูทิลิตี้ * NIX ที่คุ้นเคยเช่น cURL ซึ่งมีให้สำหรับ Windows ด้วย (curl.haxx.se/download.html)
ฉันสร้างโฟลเดอร์สำหรับโปรเจ็กต์และ SET PATH = เสมอ ในไฟล์. bat เพื่อให้ไม่มีการอ้างอิงคำสั่งอื่น ๆ นอกเหนือจากคำสั่งเชลล์ CMD พื้นฐาน (เช่นเดียวกับ UnxUtils เฉพาะที่จำเป็นในโฟลเดอร์โปรเจ็กต์เพื่อให้ Batch script ทำงานตามที่คาดไว้)
จากนั้นฉันคัดลอกไฟล์ CoreUtils .exe ที่จำเป็นไปยังโฟลเดอร์โครงการและอ้างอิงในไฟล์. bat เช่น ". \ curl.exe -s google.com" เป็นต้น
โปรแกรม Bat2Exe คือที่ที่เวทมนตร์เกิดขึ้น เมื่อไฟล์ Batch ของคุณเสร็จสมบูรณ์และได้รับการทดสอบเรียบร้อยแล้วให้เปิด Bat2Exe.exe และระบุเส้นทางไปยังโฟลเดอร์โครงการ จากนั้น Bat2Exe จะสร้างไบนารีของ Windows ที่มีไฟล์ทั้งหมดในโฟลเดอร์เฉพาะนั้นและจะใช้. bat ตัวแรกที่ใช้เป็นไฟล์ปฏิบัติการหลัก คุณยังสามารถรวมไฟล์. ico เพื่อใช้เป็นไอคอนสำหรับไฟล์. exe สุดท้ายที่สร้างขึ้น
ฉันได้ลองใช้โปรแกรมประเภทนี้สองสามโปรแกรมและไบนารีที่สร้างขึ้นจำนวนมากถูกตั้งค่าสถานะเป็นมัลแวร์ แต่เวอร์ชัน Bat2Exe ที่ฉันอ้างถึงนั้นทำงานได้อย่างสมบูรณ์และไฟล์. exe ที่สร้างขึ้นจะสแกนได้อย่างสมบูรณ์
ไฟล์ปฏิบัติการที่เป็นผลลัพธ์สามารถเรียกใช้แบบโต้ตอบได้โดยการดับเบิลคลิกหรือเรียกใช้จากบรรทัดคำสั่งพร้อมพารามิเตอร์ ฯลฯ เช่นเดียวกับไฟล์แบตช์ทั่วไปยกเว้นคุณจะสามารถใช้ฟังก์ชันการทำงานของเครื่องมือต่างๆที่คุณจะใช้ตามปกติได้ ใน Bash
ฉันรู้ว่ามันใช้เวลาค่อนข้างนาน แต่ถ้าฉันพูดนอกเรื่องเล็กน้อยฉันได้เขียน Batch script ที่ฉันเรียกว่า PortaBashy ที่เพื่อนร่วมงานของฉันสามารถเปิดใช้งานจากเครือข่ายแชร์ที่มีการติดตั้ง Cygwin แบบพกพา จากนั้นตั้งค่าตัวแปร% PATH% เป็นรูปแบบ * NIX ปกติ (/ usr / bin: / usr / sbin: / bin: / sbin) ฯลฯ และสามารถเปิดตัวใน Bash shell เองหรือเปิดตัวที่มีประสิทธิภาพมากขึ้นและ โปรแกรมจำลองเทอร์มินัล MinTTY สวย ๆ
มีหลายวิธีในการบรรลุสิ่งที่คุณพยายามจะทำอยู่เสมอ เป็นเพียงเรื่องของการผสมผสานเครื่องมือที่เหมาะสมสำหรับงานและหลาย ๆ ครั้งมันก็ขึ้นอยู่กับความชอบส่วนบุคคล