ค้นหาเว็บไซต์

PowerShell wget: วิธีที่ยอดเยี่ยมในการดาวน์โหลดไฟล์


คุณจำเป็นต้องดาวน์โหลดไฟล์จากเว็บแต่ไม่ชอบการคลิกลิงก์ซ้ำๆ หรือไม่? หากงานของคุณเกี่ยวข้องกับการดาวน์โหลดไฟล์จากเว็บเป็นประจำ คุณอาจต้องการทำให้งานเป็นแบบอัตโนมัติ ทำไมไม่ใช้ PowerShell เพื่อดาวน์โหลดไฟล์เหมือนกับ PowerShell ทางเลือกอื่นล่ะ

Windows PowerShell และ PowerShell มาพร้อมกับความสามารถในการดาวน์โหลดไฟล์ การใช้ PowerShell เพื่อดาวน์โหลดไฟล์เป็นเรื่องของการรู้ว่าจะใช้ cmdlets และคลาส .NET ใดและใช้งานอย่างไร

ในบทความนี้ คุณจะได้เรียนรู้วิธีการต่างๆ ในการใช้ PowerShell เพื่อดาวน์โหลดไฟล์จากเว็บ

ข้อกำหนดเบื้องต้น

เนื่องจากนี่คือบทความ การเรียนรู้โดยการทำ จึงมีข้อกำหนดเบื้องต้นบางประการเพื่อให้แน่ใจว่าคุณสามารถปฏิบัติตามตัวอย่างได้ ด้านล่างนี้เป็นข้อกำหนดพื้นฐาน

  • คอมพิวเตอร์ที่ทำงานบน Windows 10 หรือสูงกว่า คอมพิวเตอร์เครื่องนี้เป็นที่ที่คุณจะเรียกใช้สคริปต์/คำสั่งที่มีอยู่ในบทความนี้
  • Windows PowerShell 5.1 หรือ PowerShell 7.1 (แนะนำ)

    • Windows 10 มี Windows PowerShell 5.1 อยู่แล้ว
  • เว็บไซต์ที่โฮสต์ไฟล์ที่จะดาวน์โหลด

    • สำหรับการดาวน์โหลดไฟล์ที่ไม่ผ่านการรับรองความถูกต้อง ให้พิจารณาใช้ไซต์ Tele2 Speedtest ซึ่งให้บริการฟรี
    • หากคุณต้องการทดสอบการดาวน์โหลดไฟล์โดยได้รับอนุญาต คุณอาจต้องสร้างเซิร์ฟเวอร์ไฟล์ HTTP ของคุณ ตัวอย่างของเซิร์ฟเวอร์ไฟล์ HTTP ฟรีคือ HFS โดย Rejetto

การใช้ PowerShell เพื่อดาวน์โหลดไฟล์จาก URL: สี่วิธี

มีสี่วิธีในการใช้ PowerShell เพื่อดาวน์โหลดไฟล์ที่ไม่ต้องใช้เครื่องมือของบริษัทอื่น เหล่านี้คือ:

    Invoke-WebRequest
    Invoke-RestMethod
    Start-BitsTransfer
  • คลาส .NET WebClient

ไม่ว่าคุณจะใช้วิธีใดวิธีหนึ่งจากสี่วิธีเหล่านี้ ตรรกะและส่วนประกอบในการทำให้วิธีเหล่านั้นทำงานได้เหมือนกัน จะต้องมี URL ต้นทางที่ชี้ไปยังตำแหน่งของไฟล์และเส้นทางปลายทางเพื่อบันทึกไฟล์ที่ดาวน์โหลด หากเว็บเซิร์ฟเวอร์ต้องการ คุณจะต้องป้อนข้อมูลประจำตัวด้วย

ส่วนถัดไปจะแสดงแต่ละวิธีจากทั้งสี่วิธีนี้ ท้ายที่สุดแล้ว ขึ้นอยู่กับคุณที่จะตัดสินใจว่าคุณจะปรับตัวอย่างไรเมื่อใช้ PowerShell เพื่อดาวน์โหลดไฟล์

การใช้ Invoke-WebRequest เป็น PowerShell wget Alternative

วิธีแรกใน PowerShell ในการดาวน์โหลดไฟล์คือการใช้ cmdlet Invoke-WebRequest บางที cmdlet ที่ใช้มากที่สุดในบทความนี้ Invoke-WebRequest สามารถดาวน์โหลดลิงก์ HTTP, HTTPS และ FTP ได้

ไม่ว่าตำแหน่งต้นทางต้องการให้ผู้ใช้เข้าสู่ระบบหรือไม่ cmdlet Inrigger-WebRequest ก็สามารถจัดการคำขอด้วยข้อมูลรับรองได้เช่นกัน

หากต้องการดาวน์โหลดไฟล์ ไวยากรณ์ด้านล่างจะแสดงพารามิเตอร์ขั้นต่ำที่จำเป็นเพื่อให้ได้ผลลัพธ์ที่ต้องการ

Invoke-WebRequest -Uri <source> -OutFile <destination>

ตัวอย่างเช่น โค้ดด้านล่างดาวน์โหลดไฟล์ชื่อ 10MB.zip จากเว็บไซต์ จากนั้นจะบันทึกไฟล์ที่ดาวน์โหลดไปที่ C:\dload\10MB.zip คุณสามารถคัดลอกโค้ดด้านล่างและวางลงในเซสชัน PowerShell ของคุณเพื่อทดสอบ

# Source file location
$source = 'http://speedtest.tele2.net/10MB.zip'
# Destination to save the file
$destination = 'c:\dload\10MB.zip'
#Download the file
Invoke-WebRequest -Uri $source -OutFile $destination

การสาธิตด้านล่างแสดงผลลัพธ์ที่คาดหวังหลังจากเรียกใช้โค้ดด้านบนใน PowerShell อย่างที่คุณเห็น การดาวน์โหลดไฟล์สำเร็จ

แล้วถ้าแหล่งที่มาต้องการการรับรองความถูกต้องก่อนที่จะอนุญาตการเข้าถึงล่ะ? ตัวอย่างเช่น โค้ดด้านล่างดาวน์โหลดไฟล์จากเว็บไซต์ส่วนตัวที่ผู้ใช้ต้องเข้าสู่ระบบ

$source = 'https://mirror.lzex.ml/100MB.zip'
$destination = 'c:\dload\100MB.zip'
Invoke-WebRequest -Uri $source -OutFile $destination

อย่างไรก็ตาม การดาวน์โหลดล้มเหลวเนื่องจากมีการเข้าถึงโดยไม่ได้รับอนุญาต

หากจำเป็นต้องมีการตรวจสอบสิทธิ์ คุณควรเพิ่มข้อมูลประจำตัวให้กับคำขอโดยใช้พารามิเตอร์ -Credential บรรทัดแรกในโค้ดด้านล่างแจ้งให้คุณป้อนข้อมูลรับรอง (ชื่อผู้ใช้และรหัสผ่าน) และจัดเก็บไว้ในตัวแปร $credential

$credential = Get-Credential
$source = 'https://mirror.lzex.ml/100MB.zip'
$destination = 'c:\dload\100MB.zip'
Invoke-WebRequest -Uri $source -OutFile $destination -Credential $credential

การสาธิตด้านล่างแสดงสิ่งที่คุณคาดหวังที่จะเห็นเมื่อคุณเรียกใช้โค้ดด้านบนใน PowerShell ดังที่คุณเห็น Get-Credential cmdlet แจ้ง คำขอข้อมูลรับรอง PowerShell ในครั้งนี้ การใช้ข้อมูลประจำตัวกับ Invoke-WebRequest ทำให้การดาวน์โหลดสำเร็จ

ที่เกี่ยวข้อง: การใช้ PowerShell Get-Credential Cmdlet และข้อมูลประจำตัวทั้งหมด

มองหาข้อผิดพลาดในการแยกวิเคราะห์เมื่อใช้ Inrigg-WebRequest

สิ่งสำคัญที่ต้องจำเมื่อใช้ Inrigger-WebRequest ใน Windows PowerShell คือตามค่าเริ่มต้น cmdlet นี้ใช้เครื่องมือ Internet Explorer เพื่อแยกวิเคราะห์ข้อมูล . ข้อผิดพลาดด้านล่างนี้อาจเกิดขึ้นเมื่อใช้ Inrigg-WebRequest บนคอมพิวเตอร์ที่ไม่มี Internet Explorer อยู่

คุณจะต้องออกคำสั่งของคุณใหม่ แต่คราวนี้ ให้รวมสวิตช์ -UseBasicParsing เข้าไปด้วย

Invoke-WebRequest -Uri <source> -OutFile <destination> -UseBasicParsing

ใน Windows PowerShell คุณอาจได้รับข้อความแสดงข้อผิดพลาด: ไม่สามารถแยกวิเคราะห์เนื้อหาการตอบสนองได้เนื่องจากกลไกของ Internet Explorer ไม่พร้อมใช้งาน หรือการกำหนดค่าการเปิดตัวครั้งแรกของ Internet Explorer ไม่สมบูรณ์ ระบุพารามิเตอร์ UseBasicParsing แล้วลองอีกครั้ง

ตั้งแต่ PowerShell Core 6.0 เป็นต้นไป cmdlet Inrigger-WebRequest จะใช้การแยกวิเคราะห์พื้นฐานเท่านั้น ด้วยเหตุนี้ พารามิเตอร์ -UseBasicParsing จึงไม่จำเป็นอีกต่อไป

ใช้การเรียกใช้-RestMethod

Invoke-RestMethod cmdlet เป็นข้อมูลเพิ่มเติมเกี่ยวกับการส่งคำขอ HTTP หรือ HTTPS ไปยังบริการเว็บ RESTful cmdlet นี้เหมาะสมกว่าสำหรับคำขอที่โต้ตอบกับ REST API เช่น Microsoft Graph API

เมื่อพูดถึงการดาวน์โหลดไฟล์จากเว็บโดยตรง Invoke-RestMethod ถือเป็นคู่แข่งที่ยอดเยี่ยม อย่าหลงไปคิดอย่างอื่น ไม่มีความแตกต่างกันมากนักระหว่างการใช้ Invoke-RestMethod และ Inrigg-WebRequest เมื่อใช้ในการดาวน์โหลดไฟล์จากเว็บลิงก์โดยตรง

การดาวน์โหลดไฟล์โดยใช้ Invivo-RestMethod

หากต้องการดาวน์โหลดไฟล์โดยใช้ Invoke-RestMethod ให้ใช้ไวยากรณ์ด้านล่าง คุณจะสังเกตเห็นว่าคำสั่งใช้พารามิเตอร์เดียวกันกับ Inrigg-WebRequest

Invoke-RestMethod -Uri <source> -OutFile <destination>

ในโค้ดตัวอย่างด้านล่าง ไฟล์จะถูกดาวน์โหลดจากค่า URL ในตัวแปร $source จากนั้น บันทึกลงในเส้นทางที่กำหนดไว้ในตัวแปร $destination

$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
Invoke-RestMethod -Uri $source -OutFile $destination

หากแหล่งที่มาต้องมีการตรวจสอบสิทธิ์ คุณสามารถส่งข้อมูลรับรองได้โดยใช้พารามิเตอร์ -Credential ตัวอย่างด้านล่างแจ้งให้ใส่ข้อมูลรับรองและจัดเก็บไว้ในตัวแปร $credential จากนั้นค่าของตัวแปร $credential จะถูกส่งผ่านไปยังพารามิเตอร์ -Credential

นอกจากนี้ เนื่องจากลิงก์ไฟล์เป็นแหล่ง HTTP ไม่ใช่ HTTPS หมายความว่าคุณกำลังส่งการตรวจสอบสิทธิ์ที่ไม่ได้เข้ารหัส โดยทั่วไป คุณควรหลีกเลี่ยงการใช้แหล่งที่มา HTTP เพื่อความปลอดภัย แต่ถ้าคุณต้องใช้แหล่งที่มา HTTP คุณต้องเพิ่มสวิตช์ -AllowUnencryptedAuthentication ให้กับคำสั่งของคุณ

$credential = Get-Credential
$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
Invoke-RestMethod -Uri $source -OutFile $destination -Credential $credential -AllowUnencryptedAuthentication

การใช้ Start-BitsTransfer

Start-BitsTransfer ได้รับการออกแบบมาโดยเฉพาะสำหรับการถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์ไคลเอนต์และเซิร์ฟเวอร์ PowerShell cmdlet นี้ขึ้นอยู่กับ Background Intelligent Transfer Service (BITS) ที่มีอยู่ในระบบปฏิบัติการ Windows

เนื่องจาก Start-BitsTransfer ต้องใช้ BITS ในการทำงาน หมายความว่า cmdlet นี้ไม่พร้อมใช้งานบนคอมพิวเตอร์ที่ไม่ใช่ Windows ในทางกลับกัน Start-BitsTransfer ได้รับประโยชน์จาก BITS เอง ประโยชน์บางประการเหล่านี้ได้แก่:

  • แบนด์วิธเครือข่ายและการรับรู้การใช้งาน
  • การจัดการการขัดจังหวะ (ดำเนินการต่อ, ดำเนินการต่ออัตโนมัติ, หยุดชั่วคราว ฯลฯ )
  • การดาวน์โหลดไฟล์หลายไฟล์เป็นงานพื้นหลัง
  • ความสามารถในการกำหนดลำดับความสำคัญของงานดาวน์โหลด

กำลังดาวน์โหลดไฟล์

วิธีพื้นฐานในการใช้ Start-BitsTransfer ใน PowerShell เพื่อดาวน์โหลดไฟล์คือการระบุต้นทางและปลายทาง เมื่อใช้สคริปต์ด้านล่าง คุณจะต้องเปลี่ยนค่า $source และ $destination ตามความต้องการของคุณเท่านั้น

$source = 'http://speedtest.tele2.net/100MB.zip'
$destination = 'c:\dload\100MB.zip'
Start-BitsTransfer -Source $source -Destination $destination

ดังที่คุณเห็นจากการสาธิตด้านล่าง ไฟล์จะถูกดาวน์โหลดไปที่พาธ c:\dload\100MB.zip

สมมติว่าไม่ได้ระบุปลายทาง Start-BitsTransfer จะดาวน์โหลดและบันทึกไฟล์ลงในไดเร็กทอรีการทำงานปัจจุบัน ตัวอย่างเช่น หากคุณเรียกใช้ Start-BitsTransfer จาก C:\dload ไฟล์จะดาวน์โหลดไปยังไดเรกทอรีเดียวกัน

สำหรับการดาวน์โหลดที่ต้องมีการรับรองความถูกต้อง Start-BitsTransfer มีพารามิเตอร์ -Credential ที่ยอมรับออบเจ็กต์ PSCredential

การดาวน์โหลดไฟล์หลายไฟล์

หากต้องการสาธิตการดาวน์โหลดไฟล์หลายไฟล์ คุณจะต้องสร้างไฟล์ CSV ที่มีสองคอลัมน์ ตั้งชื่อไฟล์ filelist.txt คอลัมน์แรกควรมีลิงก์ไปยังแหล่งที่มา ในขณะที่คอลัมน์ที่สองต้องมีเส้นทางปลายทาง เนื้อหาไฟล์ต้องการดังต่อไปนี้

# source,destination
http://speedtest.tele2.net/1MB.zip,c:\dload\1MB.zip
http://speedtest.tele2.net/10MB.zip,c:\dload\10MB.zip
http://speedtest.tele2.net/100MB.zip,c:\dload\100MB.zip

ที่เกี่ยวข้อง: การจัดการไฟล์ CSV ใน PowerShell ด้วย Import-Csv

เมื่อไฟล์ CSV พร้อมแล้ว ให้ใช้คำสั่งด้านล่างเพื่อเริ่มดาวน์โหลดไฟล์ คำสั่งนำเข้าไฟล์ CSV โดยใช้ Import-Csv และส่งเนื้อหาไปที่ Start-BitsTransfer

Import-Csv .\filelist.csv | Start-BitsTransfer

อ้างอิงถึงการสาธิตด้านล่างเพื่อดูว่าโค้ดด้านบนทำงานอย่างไร อย่างที่คุณเห็น การดาวน์โหลดเริ่มต้นขึ้น และคุณจะเห็นความคืบหน้าในการดาวน์โหลด พรอมต์ PowerShell ไม่พร้อมใช้งานในระหว่างกระบวนการดาวน์โหลด

สมมติว่าคุณต้องการเริ่มกระบวนการดาวน์โหลดเป็นงานเบื้องหลัง ในการทำเช่นนั้น คุณจะต้องเพิ่มสวิตช์ -Asynchronous ที่ส่วนท้ายของคำสั่ง Start-BitsTransfer

Import-Csv .\filelist.csv | Start-BitsTransfer -Asynchronous

ในตอนแรก สถานะของงานแต่ละงานจะแสดงกำลังเชื่อมต่อ ภาพหน้าจอด้านล่างแสดงรหัสงานของการดาวน์โหลดไฟล์แต่ละรายการ

เมื่อคุณได้เริ่มกระบวนการดาวน์โหลดแล้ว คุณจะต้องตรวจสอบว่าการดาวน์โหลดเสร็จสมบูรณ์หรือไม่ หากต้องการตรวจสอบสถานะงานดาวน์โหลด ให้ใช้ Get-BitsTransfer cmdlet ดังที่คุณเห็นด้านล่าง สถานะของงานดาวน์โหลดได้เปลี่ยนเป็น โอนแล้ว

การใช้คลาส WebClient และคลาส HttpClient (.NET Framework)

PowerShell ทำงานบน .NET และลักษณะของมันทำให้สามารถใช้ประโยชน์จากพลังของ .NET ได้ มีคลาส .NET สองคลาสที่คุณสามารถใช้ใน PowerShell เพื่อดาวน์โหลดไฟล์ได้ WebClient และ HttpClient

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคลาส .NET ทั้งสองนี้ในการพัฒนาและทางเทคนิคเพิ่มเติม คุณสามารถเริ่มต้นด้วย → เมื่อใดควรใช้ WebClient กับ HttpClient กับ HttpWebRequest ในส่วนถัดไป คุณจะได้เรียนรู้ วิธีใช้ WebClient และ HttpClient ใน PowerShell เพื่อดาวน์โหลดไฟล์จากเว็บ

การดาวน์โหลดไฟล์โดยใช้ System.Net.WebClient

หากต้องการใช้คลาส WebClient คุณต้องเริ่มต้นออบเจ็กต์เป็นประเภท System.Net.WebClient ** ในตัวอย่างด้านล่าง $webClient คืออ็อบเจ็กต์ System.Net.WebClient ใหม่ จากนั้น การใช้เมธอด DownloadFile() จะเริ่มต้นการดาวน์โหลดไฟล์จากแหล่งที่มา

ที่เกี่ยวข้อง: การใช้ตัวเร่งความเร็วประเภทข้อมูล PowerShell เพื่อเพิ่มความเร็วในการเขียนโค้ด

โปรดคัดลอกโค้ดด้านล่างและเรียกใช้ในเซสชัน PowerShell ของคุณเพื่อทดสอบ โปรดทราบว่าคุณจะไม่เห็นความคืบหน้าหรือผลลัพธ์ใดๆ บนหน้าจอ เว้นแต่จะมีข้อผิดพลาดเกิดขึ้น อย่างไรก็ตาม พรอมต์ PowerShell จะถูกล็อคจนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์

# Define the source link and destination path
$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
# Create the new WebClient
$webClient = [System.Net.WebClient]::new()
# Download the file
$webClient.DownloadFile($source, $destination)

หากแหล่งที่มาต้องมีการรับรองความถูกต้องเพื่ออนุญาตให้ดาวน์โหลดไฟล์ คุณสามารถใช้โค้ดด้านล่างนี้ บรรทัดแรกแจ้งให้ใส่ข้อมูลประจำตัวและจัดเก็บไว้ในตัวแปร $credentials จากนั้นค่าของ $credential จะรวมอยู่ในคำขอดาวน์โหลดไฟล์

# Prompt for username and password
$credentials = Get-Credential
$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
# Create the new WebClient
$webClient = [System.Net.WebClient]::new()
# Add the credential
$webClient.Credentials = $credentials
# Download the file
$webClient.DownloadFile($source, $destination)

ตามเอกสาร Microsoft นี้: “เราไม่แนะนำให้คุณใช้คลาส WebClient สำหรับการพัฒนาใหม่ ให้ใช้คลาส System.Net.Http.HttpClient แทน”

ดูเหมือนว่าคลาส WebClient ล้าสมัยแล้ว และคลาสใหม่ที่ Microsoft สนับสนุนคือคลาส HttpClient ไม่ต้องกังวลแม้ว่า ส่วนถัดไปพูดถึงการใช้คลาส HttpClient ใน PowerShell เพื่อดาวน์โหลดไฟล์จากเว็บ

การดาวน์โหลดไฟล์โดยใช้ System.Net.Http.HttpClient

เช่นเดียวกับคลาส WebClient คุณต้องสร้าง System.Net.Http.HttpClient ก่อน การใช้โค้ดด้านล่างนี้จะดาวน์โหลดไฟล์จาก $source ไปยัง $destination โปรดดูความคิดเห็นด้านบนแต่ละบรรทัดเพื่อดูว่าโค้ดแต่ละบรรทัดทำหน้าที่อะไร

โค้ดด้านล่างใช้งานได้จริง และคุณสามารถทดสอบได้ด้วยการเรียกใช้ในเซสชัน PowerShell ของคุณ

# Set the source and destination
$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
 
# Create the HTTP client download request
$httpClient = New-Object System.Net.Http.HttpClient
$response = $httpClient.GetAsync($source)
$response.Wait()
 
# Create a file stream to pointed to the output file destination
$outputFileStream = [System.IO.FileStream]::new($destination, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write)
 
# Stream the download to the destination file stream
$downloadTask = $response.Result.Content.CopyToAsync($outputFileStream)
$downloadTask.Wait()
 
# Close the file stream
$outputFileStream.Close()

ในสถานการณ์ที่การดาวน์โหลดไฟล์ต้องมีการรับรองความถูกต้อง คุณจะต้องเพิ่มข้อมูลประจำตัวให้กับออบเจ็กต์ HttpClient หากต้องการรวมข้อมูลรับรองลงในคำขอดาวน์โหลดไฟล์ ให้สร้างอ็อบเจ็กต์ System.Net.Http.HttpClientHandler ใหม่เพื่อจัดเก็บข้อมูลประจำตัว

คุณสามารถคัดลอกโค้ดด้านล่างและเรียกใช้ใน PowerShell เพื่อทดสอบ หรือคุณสามารถเรียกใช้เป็นสคริปต์ PowerShell ได้ ในตัวอย่างนี้ รหัสจะถูกบันทึกเป็น download-file.ps1

# Set the source and destination
$source = 'http://speedtest.tele2.net/10MB.zip'
$destination = 'c:\dload\10MB.zip'
 
# Prompt for credentials
$credentials = Get-Credential

# Create the HTTP client download request with credentials
$handler = New-Object System.Net.Http.HttpClientHandler
$handler.Credentials = $credentials
$httpClient = New-Object System.Net.Http.HttpClient($handler)
$response = $httpClient.GetAsync($source)
$response.Wait()
 
# Create a file stream to pointed to the output file destination
$outputFileStream = [System.IO.FileStream]::new($destination, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write)
 
# Stream the download to the destination file stream
$downloadTask = $response.Result.Content.CopyToAsync($outputFileStream)
$downloadTask.Wait()
 
# Close the file stream
$outputFileStream.Close()

การสาธิตด้านล่างแสดงผลลัพธ์เมื่อเรียกใช้สคริปต์ PowerShell เพื่อดาวน์โหลดไฟล์

ในตอนเริ่มต้น ไดเร็กทอรีจะมีเฉพาะไฟล์สคริปต์อยู่เท่านั้น มีการแจ้งให้ป้อนชื่อผู้ใช้และรหัสผ่าน จากนั้นสคริปต์จะดำเนินการดาวน์โหลดไฟล์ หลังจากดาวน์โหลดไฟล์แล้ว คุณจะเห็นว่าไฟล์ใหม่อยู่ในไดเร็กทอรีปลายทางแล้ว

บทสรุป

Windows PowerShell และ PowerShell Core มาพร้อมกับความสามารถในตัวในการดาวน์โหลดไฟล์ ซึ่งทำหน้าที่เป็นทางเลือกใหม่ของ PowerShell! ไม่ว่าจะดาวน์โหลดแหล่งข้อมูลที่มีการป้องกันด้วยรหัสผ่าน ไฟล์เดียวหรือหลายไฟล์ - คุณสามารถใช้งาน PowerShell ได้

วิธีการดาวน์โหลดไฟล์ที่กล่าวถึงในบทความนี้ใช้ได้กับทั้ง Windows PowerShell และ PowerShell Core ซึ่งหมายความว่าวิธีการเหล่านี้ใช้ได้กับทั้งระบบ Windows และที่ไม่ใช่ Windows ยกเว้น Start-BitsTransfer

และเนื่องจาก PowerShell เป็นมากกว่าพรอมต์คำสั่ง คุณจึงสามารถแปลสิ่งที่คุณเรียนรู้เป็นสคริปต์ได้ สำหรับคุณ นั่นหมายถึงโอกาสสำหรับระบบอัตโนมัติ ไม่มีการคัดลอก URL คลิกลิงก์ และรอการดาวน์โหลดด้วยตนเองอีกต่อไป

บทความที่เกี่ยวข้อง