دستور دانلود محتویات یک فولدر از طریق HTTPS
سلام دوستان
من نیاز به یک کامندی دارم که قادر به دانلود کل محتویات یک مسیر url با پروتکل https باشه . کامند bitsadmin فقط فایل به فایل دانلود میکنه . همچنین کامند Invoke-WebRequest در پاور شل هم فایل دانلود میکنه شاید هم سوئیچی داره من اطلاع ندارم.
من نیاز به کد مایکروسافتی دارم که بتونه کل محتویات دایرکتوری اون url رو دریافت کنه (با دایرکتوری های زیرشاخه )
بدون هیچگونه ابزار اضافه ای ( فقط با دستورات ویندوزی )
ممنون میشم اگر دوستان همچین تجربه ای دارند و راهکاری براش داشتند رو بفرمایند
با تشکر از مدیریت سایت توسینسو
5 پاسخ
عرض سلام
برای اینکار تو محیط ویندوز بهتره از ابزار httrack استفاده کنید چون کامند مستقیم براش وجود نداره و باید یک اسکریپت کوتاه براش بنویسید، همچنین httrack قابلیت و قدرت مانور زیادی توی این زمینه داره پس بهتره از این ابزار استفاده کنید.
httrack ابزار اختصاصی برای دانلود وبسایت هاست که در لینوکس و ویندوز قابل استفادست و نسخه ی portable اون رو از https://www.httrack.com/page/2/en/index.html دانلود و اکسترکت کنید .
سپس در مسیر اکسترکت که فایل httrack.exe وجود دارد دستور زیر را اجرا کنید:(ext-depth عمق پیمایش لینک های سایت را تعیین میکند)
httrack.exe --ext-depth=1 http://yoursite.com
من در واقع برای 600 تا از ویندوز سرور ها میخام از این دستور استفاده کنم و قابلیت نصب ابزار روی سرور ها رو ندارم(بنا به دلایل امنیتی) به همین منظور همون دستور ویندوزی در قالب اسکریپت کارم رو راه میندازه
ممکنه برای اون اسکریپت نویسی بیشتر اهنمایی کنید
با سپاس
نیازی به نصب نیست ، یه فایل exe هست که میتونید بزارید داخل شبکه و از هر ماشینی اجرا بشه. ولی بهرحال اسکریپتش چیزی مثل این میشه:
Invoke-WebRequest -Uri https://soft98.ir -outfile root.html
$root = Invoke-WebRequest -Uri https://soft98.ir -UseBasicParsing
invoke-webrequest -uri https://soft98.ir
$root.Links.href -match ".html" | ForEach-Object {$name=Split-Path -Path $_ -Leaf; $path= $name -split ".html"; $path=$path[0] ; New-Item -ItemType Directory -Path $path -Force; Invoke-WebRequest -Uri $_ -OutFile "$path/$name" }
سلام. منظورتون رو دقیق متوجه نمیشم. url شما چی هست؟ آدرس یک صفحه وب که حاوی تعدادی لینک هست؟ میشه url رو بفرمایید
سلام آقای مهندس
شما همین url سایت soft98.ir رو درنظر بگیر
با اجرای دستور WGET در لینوکس کل محتویات موجود در آن را با همون ساختار و فولدر بندی را در مسیر مشخص شده دانلود میکنه بدون اینکه مشخص کنیم کدوم فایل . یعنی با گذاشتن سوئیچ -Recursive در دستور wget اقدام به دانلود کل محتویات آن url میکنه.
من معادل این دستور رو در ویندوز میخام انجام بدم