
در این بخش از سری مطالب آموزش پاورشل ، قصد داریم با آموزش دانلود فایل در پاورشل آشنا شویم.
همانطور که در مطلب معرفی پاورشل خدمت شما عرض کردیم ، این محیط خط فرمان قابلیت انجام تمام کارهایی که یک کاربر توسط محیط گرافیکی ویندوز را دارد برای شما فراهم می سازد.
قبل از بوجود آمدن و توسعه پاورشل ، کاربران ویندوزی قابلیت دانلود فایل توسط خط فرمان CMD را نداشتند و برای دانلود یک فایل توسط دستورات باید از اسکریپتهای مختلف استفاده می کردند.
اما پاورشل با قدرت و امکانات ماژولاری که دارد این امکان را فراهم میسازد تا شما بتوانید یک فایل را بسادگی هرچه تمامتر دانلود کنید.
دستوری که در این مطلب به آموزش آن میپردازیم شباهت زیادی با دستور wget در لینوکس دارد.
آموزش دانلود فایل با پاورشل
دانلود فایل با دستور Invoke-WebRequest
دستور Invoke-WebRequest یک دستور بسیار کامل برای دانلود انواع فایلها با لینک مستقیم بشمار میرود.
این دستور همانند دیگر دستورات پاورشل دارای Alias هایی است که کار را برای استفاده از آن آسان مینماید.
شما میتوانید از دستور wget ، curl و iwr به جای دستور Invoke-WebRequest استفاده نمایید.
حال با توضیحاتی که خدمت شما عرض کردیم به توضیح و مثالهای استفاده از این دستور میپردازیم.
ساختار دستور Invoke-WebRequest
Invoke-WebRequest -Uri
به طور مثال برای دانلود یک فایل از یک سایت دستور به شکل زیر وارد خواهد شد.
Invoke-WebRequest -Uri “https://azaronline.com/blog/file.txt”
این دستور دارای پارامترهای فراوانی است که به شما کمک خواهد کرد تا با امکانات مختلفی به دانلود فایل بپردازید.
در این مطلب ما به توضیح چند پارامتر بسیار مهم این دستور خواهیم پرداخت.
پارامترهای دستور Invoke-WebRequest
Outfile : توسط این پارامتر میتوان نام فایلی که در حال دانلود است را در مسیر و نام دیگری ذخیره کرد.
Credential : این پارامتر امکان ارسال نام کاربری و پسورد برای اجازه دسترسی به دانلود فایل را به ما میدهد.
DisableKeepAlive : جهت فعال و یا غیر فعال کردن KeepAlive در هنگام دانلود.
MaximumRedirection : تعداد دفعاتی که یک لینک ریدایرکت شود و دستور دانلود همچنان پا برجا باقی مانده و به دنبال لینک بعدی میرود. به صورت پیش فرض 5 ریدایرکت را رد خواهد کرد و اگر همچنان ادامه پیدا کند ، دانلود متوقف خواهد شد.
Method : جهت انتخاب انواع متد ارسال درخواست از این پارامتر استفاده میگردد. متدهای پشتیبانی شده شامل : Default , Delete , Get , Head , Merge , Option , Patch , Post , Put و Trace میباشد.
Proxy : استفاده از پروکسی جهت ارتباط برقرار کردن با اینترنت و دانلود فایل کاربرد دارد.
پارامترهای ذکر شده تنها برخی از مهمترین آنها بوده و پارامترهای کاملتر و پیشرفتهتری وجود دارند که میتوانید آنها را با علامت ? یا استفاده از دستور Get-Help دریافت کنید.
حال پس از توضیحات و یادگیری نحوه استفاده از دستور ، برای یادگیری بهتر به مثالهای زیر توجه فرمایید.
مثال 1:
Invoke-WebRequest -Uri "https://www.azaronline.com/file1.txt" -OutFile "D:\"
توسط دستور بالا ، file1.txt از سایت Azaronline.com دانلود شده و در درایو D ذخیره میگردد.
مثال 2 :
Invoke-WebRequest -Uri "https://www.azaronline.com/file1.txt" -OutFile " D:\" -Credential "administrator"
در مثال بالا ، پاورشل به دانلود file1.txt پرداخته و در هنگام پرسیدن یوزرنیم از سمت سایت ، پاورشل نام کاربری Administrator را به عنوان یوزرنیم ارسال میکند.
به همین ترتیب شما نیز میتوایند برای دانلود فایل در پاورشل از دستور Invoke-WebRequest استفاده کنید.
این دستور کاربردهای دیگری نیز دارد که همانند سایر دستورات پاورشل پس از ادغام با دستورات دیگر خروجی متفاوتی را ارائه میدهد.
به طور مثال با وارد کردن دستور زیر تمام لینکهای داخل یک صفحه اینترنتی را برای شما لیست خواهد کرد.
(Invoke-WebRequest -Uri "https://azaronline.com").Links.Href
امیدواریم آموزش دانلود فایل در پاورشل برای شما مفید واقع شده باشد.
نظرات کاربران