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

در Windows، بعد از ساخت Remote یک فایل بیخطر را برای آزمون میفرستید: hello.txt با کلید tutorial/hello.txt ذخیره میشود؛ سپس فهرست، مشخصات و دانلود را بررسی میکنید و فایل را پاک میکنید. ترتیب کلی عملیات در صفحهٔ اصلی rclone توضیح داده شده است.
اگر Remote هنوز مقدار پنل ندارد، هیچ فرمانی کار نمیکند. اگر آپلود را نزدهاید، مشخصات و دانلود معمولاً آرایه خالی یا خطا میدهند.
rclone را نصب کنید
بعد از نصب با winget، یک PowerShell تازه باز کنید و با rclone version نسخه را ببینید.
rclone version بزنید و «is not recognized» بگیرید، دلیلش نصب ناقص نیست — پنجره را ببندید و یک پنجره PowerShell تازه باز کنید.winget install Rclone.Rclone
rclone versionexamples/
├── .env.example
└── rclone/
└── run.sh # آپلود، فهرست، مشخصات، دانلود و حذف با rcloneRemote را با مقدارهای پنل بسازید
Remote شامل Endpoint، Region و دو کلید است؛ Bucket بخشی از آدرس فرمان خواهد بود. محل فایل تنظیمات را با rclone config file بگیرید؛ مسیر معمول Windows برابر %APPDATA%\rclone\rclone.conf است.
examples/rclone/run.sh از متغیر محیطی استفاده میکند، نه فایل تنظیمات؛ پنج مقدار PARSPACK_S3_* را میخواند و خودش به نامهای rclone تبدیل میکند. اگر rclone config را برای استفاده تعاملی هم زدهاید، مشکلی ندارد — متغیر محیطی همیشه روی مقدار داخل فایل تنظیمات اولویت دارد.$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
rclone lsd parspack:c123456آپلود: فایل را در باکت بگذارید
rclone copyto ./hello.txt parspack:c123456/tutorial/hello.txt
copyto دقیقاً یک فایل را با یک نام مشخص کپی میکند؛ با copy اشتباه نگیرید که مقصد را همیشه پوشه فرض میکند و اسم فایل محلی را زیر آن پوشه تکرار میکند. بعد از آپلود، rclone حجم فایل محلی را با چیزی که همان لحظه از باکت خوانده مقایسه میکند؛ اگر یکی نبود «corrupted on transfer» میدهد و حداکثر سه بار دوباره میفرستد.rclone copyto ./hello.txt parspack:c123456/tutorial/hello.txt-v استفاده کنید)اگر tutorial/hello.txt از قبل وجود داشته باشد، Upload جدید همان مسیر را جایگزین میکند.
فهرست فایلها و مشخصات یک فایل
بعد از آپلود، اول ببینید فایل در فهرست هست؛ بعد حجم و نوع را بدون دانلود بخوانید.
rclone lsd روی یک سطح بالاتر از هم جدا کنید.lsjson را با مسیری بزنید که دقیقاً به نام فایل ختم میشود، نه اسلش؛ rclone یک آرایه تکعضوی برمیگرداند، نه یک شیء تنها — کد شما باید عضو صفرم آرایه را بخواند.rclone lsjson parspack:c123456/tutorial/rclone lsjson parspack:c123456/tutorial/hello.txt/ یعنی پوشه؛ بدون آن یعنی یک فایل دقیق.false است؛ برای پوشه true.دانلود: فایل را روی سیستم خودتان بنویسید
rclone copyto parspack:c123456/tutorial/hello.txt ./downloads/hello.txt
copyto است، فقط جهت را برعکس کردهاید: مبدأ مسیر روی باکت، مقصد مسیر محلی. پوشه مقصد اگر نباشد، rclone خودش میسازدش؛ اگر مسیر محلی از قبل با همین نام وجود داشته باشد، بدون هشدار رویش مینویسد.rclone copyto parspack:c123456/tutorial/hello.txt ./downloads/hello.txt-v استفاده کنید)حذف: نام را از باکت بردارید
rclone deletefile parspack:c123456/tutorial/hello.txt
deletefile دقیقاً یک فایل را حذف میکند. با delete اشتباه نگیرید؛ آن دستور روی مسیر پوشهای اجرا میشود و همه محتوایش را پاک میکند.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 refused | Endpoint در دسترس نیست | آدرس HTTPS پنل، بدون تغییر و بدون / انتها |
آزمون را در PowerShell جمعبندی کنید
همین شش فرمان را بهترتیب در PowerShell اجرا کنید. فایل examples/rclone/run.sh برای bash است و در Windows فقط در Git Bash یا WSL مستقیم اجرا میشود.
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.txtrclone version را قبل از گزارش مشکل چک کنید؛ رفتار بین نسخههای قدیمی و جدید کمی فرق دارد.