PP مستندات فضای ابری پارس‌پک
rclone · winget · PowerShell

rclone را در Windows راه بیندازید

فرمان‌های این صفحه برای PowerShell نوشته شده‌اند: rclone را نصب می‌کنید، Remote کاربر را می‌سازید و مجوزهای خواندن، نوشتن و حذف را با یک فایل کوچک می‌آزمایید.

مخصوص PowerShellنصب با wingetبا نکتهٔ جداگانه برای WSL
اجرای rclone روی Windows متصل به فضای ذخیره‌سازی
شش فرمان با خروجی نمونه

در Windows، بعد از ساخت Remote یک فایل بی‌خطر را برای آزمون می‌فرستید: hello.txt با کلید tutorial/hello.txt ذخیره می‌شود؛ سپس فهرست، مشخصات و دانلود را بررسی می‌کنید و فایل را پاک می‌کنید. ترتیب کلی عملیات در صفحهٔ اصلی rclone توضیح داده شده است.

اگر Remote هنوز مقدار پنل ندارد، هیچ فرمانی کار نمی‌کند. اگر آپلود را نزده‌اید، مشخصات و دانلود معمولاً آرایه خالی یا خطا می‌دهند.

۱

rclone را نصب کنید

بعد از نصب با winget، یک PowerShell تازه باز کنید و با rclone version نسخه را ببینید.

winget مسیر نصب را به PATH همان کاربر اضافه می‌کند، نه به پنجره PowerShell بازِ فعلی. اگر بلافاصله بعد از نصب rclone version بزنید و «is not recognized» بگیرید، دلیلش نصب ناقص نیست — پنجره را ببندید و یک پنجره PowerShell تازه باز کنید.
terminal (PowerShell) · نصب و بررسی
winget install Rclone.Rclone
rclone version
ساختار فایل‌ها
examples/
├── .env.example
└── rclone/
  └── run.sh      # آپلود، فهرست، مشخصات، دانلود و حذف با rclone
۲

Remote را با مقدارهای پنل بسازید

Remote شامل Endpoint، Region و دو کلید است؛ Bucket بخشی از آدرس فرمان خواهد بود. محل فایل تنظیمات را با rclone config file بگیرید؛ مسیر معمول Windows برابر %APPDATA%\rclone\rclone.conf است.

اسکریپت نمونه examples/rclone/run.sh از متغیر محیطی استفاده می‌کند، نه فایل تنظیمات؛ پنج مقدار PARSPACK_S3_* را می‌خواند و خودش به نام‌های rclone تبدیل می‌کند. اگر rclone config را برای استفاده تعاملی هم زده‌اید، مشکلی ندارد — متغیر محیطی همیشه روی مقدار داخل فایل تنظیمات اولویت دارد.
terminal (PowerShell) · تنظیم Remote با متغیر محیطی
$env:RCLONE_CONFIG_PARSPACK_TYPE = "s3"
$env:RCLONE_CONFIG_PARSPACK_PROVIDER = "Other"
$env:RCLONE_CONFIG_PARSPACK_ENDPOINT = "https://c123456.parspack.net"
$env:RCLONE_CONFIG_PARSPACK_ACCESS_KEY_ID = "YOUR_ACCESS_KEY"
$env:RCLONE_CONFIG_PARSPACK_SECRET_ACCESS_KEY = "YOUR_SECRET_KEY"
$env:RCLONE_CONFIG_PARSPACK_REGION = "us-east-1"
$env:RCLONE_CONFIG_PARSPACK_NO_CHECK_BUCKET = "true"
!

اگر rclone را داخل WSL اجرا می‌کنید نه در PowerShell native، این یک محیط لینوکسی جداست: مسیر فایل تنظیمات %APPDATA%\rclone\rclone.conf نیست، همان ~/.config/rclone/rclone.conf داخل فایل‌سیستم WSL است، و متغیرهای محیطی PowerShell به آن شل منتقل نمی‌شوند — باید در WSL دوباره export کنید.

!

این مقدارها را در اسکریپت‌های Public قرار ندهید. اگر از rclone config برای فایل تنظیمات استفاده می‌کنید، همان فایل را هم جایی Commit نکنید.

۳

ارتباط PowerShell با Bucket را بررسی کنید

rclone lsd parspack:c123456

این فرمان پوشه‌های سطح بالای باکت را نشان می‌دهد؛ هنوز کاری با فایل شما ندارد. اگر Endpoint یا کلیدها اشتباه باشد، همین‌جا خطا می‌گیرید — نه در آپلود.
terminal (PowerShell)
rclone lsd parspack:c123456
خروجی نمونه
-1 2026-08-18 10:00:00 -1 tutorial
۴

آپلود: فایل را در باکت بگذارید

rclone copyto ./hello.txt parspack:c123456/tutorial/hello.txt

copyto دقیقاً یک فایل را با یک نام مشخص کپی می‌کند؛ با copy اشتباه نگیرید که مقصد را همیشه پوشه فرض می‌کند و اسم فایل محلی را زیر آن پوشه تکرار می‌کند. بعد از آپلود، rclone حجم فایل محلی را با چیزی که همان لحظه از باکت خوانده مقایسه می‌کند؛ اگر یکی نبود «corrupted on transfer» می‌دهد و حداکثر سه بار دوباره می‌فرستد.
terminal (PowerShell)
rclone copyto ./hello.txt parspack:c123456/tutorial/hello.txt
خروجی نمونه
(بدون خروجی؛ یعنی آپلود موفق بوده — برای دیدن جزئیات از -v استفاده کنید)
!

اگر tutorial/hello.txt از قبل وجود داشته باشد، Upload جدید همان مسیر را جایگزین می‌کند.

۵

فهرست فایل‌ها و مشخصات یک فایل

بعد از آپلود، اول ببینید فایل در فهرست هست؛ بعد حجم و نوع را بدون دانلود بخوانید.

اسلش انتهای مسیر یعنی «این یک پوشه است»؛ خروجی یک آرایه JSON از فایل‌های همان پوشه است، نه محتوای خود فایل‌ها. آرایه خالی دو تا علت دارد: یا آپلود قبل از این فرمان انجام نشده، یا مسیر Prefix را غلط نوشته‌اید — این دو را با زدن rclone lsd روی یک سطح بالاتر از هم جدا کنید.
برای مشخصات یک فایل، همان lsjson را با مسیری بزنید که دقیقاً به نام فایل ختم می‌شود، نه اسلش؛ rclone یک آرایه تک‌عضوی برمی‌گرداند، نه یک شیء تنها — کد شما باید عضو صفرم آرایه را بخواند.
terminal (PowerShell) · فهرست پوشه
rclone lsjson parspack:c123456/tutorial/
خروجی نمونه
[ {"Path":"hello.txt","Name":"hello.txt","Size":15,"MimeType":"text/plain","ModTime":"2026-08-18T10:00:00.000000000Z","IsDir":false} ]
terminal (PowerShell) · مشخصات یک فایل
rclone lsjson parspack:c123456/tutorial/hello.txt
خروجی نمونه
[ {"Path":"hello.txt","Name":"hello.txt","Size":15,"MimeType":"text/plain","ModTime":"2026-08-18T10:00:00.000000000Z","IsDir":false} ]
اسلش انتهامسیر با / یعنی پوشه؛ بدون آن یعنی یک فایل دقیق.
IsDirبرای فایل همیشه false است؛ برای پوشه true.
آرایه خالییعنی آپلود انجام نشده یا مسیر اشتباه است.
۶

دانلود: فایل را روی سیستم خودتان بنویسید

rclone copyto parspack:c123456/tutorial/hello.txt ./downloads/hello.txt

همان copyto است، فقط جهت را برعکس کرده‌اید: مبدأ مسیر روی باکت، مقصد مسیر محلی. پوشه مقصد اگر نباشد، rclone خودش می‌سازدش؛ اگر مسیر محلی از قبل با همین نام وجود داشته باشد، بدون هشدار رویش می‌نویسد.
terminal (PowerShell)
rclone copyto parspack:c123456/tutorial/hello.txt ./downloads/hello.txt
خروجی نمونه
(بدون خروجی؛ یعنی دانلود موفق بوده — برای دیدن جزئیات از -v استفاده کنید)
۷

حذف: نام را از باکت بردارید

rclone deletefile parspack:c123456/tutorial/hello.txt

deletefile دقیقاً یک فایل را حذف می‌کند. با delete اشتباه نگیرید؛ آن دستور روی مسیر پوشه‌ای اجرا می‌شود و همه محتوایش را پاک می‌کند.
terminal (PowerShell)
rclone deletefile parspack:c123456/tutorial/hello.txt
خروجی نمونه
(بدون خروجی؛ یعنی حذف موفق بوده — برای دیدن جزئیات از -v استفاده کنید)
۸

خطا را از مبدا پیدا کنید

ابتدا دوباره فهرست Bucket را بگیرید. خطا در این مرحله معمولاً به Endpoint، کلیدها، Region یا فایل تنظیمات برمی‌گردد، نه مسیر فایل محلی.

کد خروج 0 یعنی موفق؛ هر عدد دیگری یعنی حداقل یک فرمان شکست خورده. متن خطا همیشه روی stderr است، نه stdout — اگر خروجی را redirect کرده‌اید، پیام خطا در فایل شما نیست. برای دیدن چه درخواستی واقعاً رفته، -vv اضافه کنید؛ این پرچم هر HTTP request را هم نشان می‌دهد.
خطاعلت معمولبررسی
'rclone' is not recognizedنصب کامل نشده یا PowerShell را ری‌استارت نکرده‌ایدپنجره PowerShell را ببندید و دوباره باز کنید
NoSuchBucketنام Bucket با مقدار پنل یکی نیستبخش بعد از parspack: در مسیر
SignatureDoesNotMatch / AccessDeniedکلیدها یا Region درست نیست، یا Provider را AWS گذاشته‌ایدaccess_key_id، secret_access_key، region، provider = Other
didn't find section in config fileنام Remote را اشتباه تایپ کرده‌ایدنام دقیقاً باید parspack باشد
Timeout / connection refusedEndpoint در دسترس نیستآدرس HTTPS پنل، بدون تغییر و بدون / انتها
۹

آزمون را در PowerShell جمع‌بندی کنید

همین شش فرمان را به‌ترتیب در PowerShell اجرا کنید. فایل examples/rclone/run.sh برای bash است و در Windows فقط در Git Bash یا WSL مستقیم اجرا می‌شود.

terminal (PowerShell) · از ابتدا تا انتها
winget install Rclone.Rclone

$env:RCLONE_CONFIG_PARSPACK_TYPE = "s3"
$env:RCLONE_CONFIG_PARSPACK_PROVIDER = "Other"
$env:RCLONE_CONFIG_PARSPACK_ENDPOINT = "https://c123456.parspack.net"
$env:RCLONE_CONFIG_PARSPACK_ACCESS_KEY_ID = "YOUR_ACCESS_KEY"
$env:RCLONE_CONFIG_PARSPACK_SECRET_ACCESS_KEY = "YOUR_SECRET_KEY"
$env:RCLONE_CONFIG_PARSPACK_REGION = "us-east-1"
$env:RCLONE_CONFIG_PARSPACK_NO_CHECK_BUCKET = "true"

Set-Content -Path hello.txt -Value 'hello ParsPack'
rclone lsd parspack:c123456
rclone copyto ./hello.txt parspack:c123456/tutorial/hello.txt
rclone lsjson parspack:c123456/tutorial/
rclone lsjson parspack:c123456/tutorial/hello.txt
rclone copyto parspack:c123456/tutorial/hello.txt ./downloads/hello.txt
rclone deletefile parspack:c123456/tutorial/hello.txt
Task Schedulerبرای اجرای زمان‌بندی‌شده با Task Scheduler، همین متغیرها را در اسکریپت فراخوانی‌شده بگذارید؛ Task بدون رابط کاربری محیط شما را نمی‌بیند.
به‌جای rclone.confروی ماشین‌های بدون دسترسی تعاملی، متغیرهای محیطی را در تعریف Task بگذارید.
نسخهrclone version را قبل از گزارش مشکل چک کنید؛ رفتار بین نسخه‌های قدیمی و جدید کمی فرق دارد.
سناریوی کامل Windows آماده است.نصب، تنظیم Remote و شش فرمان در همین صفحه است؛ اسکریپت خودکار در examples/rclone/run.sh.
دریافت rclone.zip