Taha Mousavi
Taha Mousavi
خواندن ۲ دقیقه·۳ ماه پیش

راحتی نتیجه تنبلی است.

گزینه اضافه شده به راست کلیک ویندوز
گزینه اضافه شده به راست کلیک ویندوز


از اونجایی که علاقه خاصی به تست کردن فیچر جدید روی سرور لایو دارم، همیشه برای دیپلوی سریع نیاز بود فایل های مورد نیاز رو زیپ کنم و آپلود، اما همیشه سلکت کردن فایل های اصلی و عدم سلکت فایل هایی که نباید بره رو سرور برام سخت بود.

از اونجایی که دیشب وقت آزاد داشتم یه bat فایل نوشتم که همین کارو میکنه به شکل خیلی ساده که فایل هایی که اسمشون تو گیت ایگنور هست رو فیلتر کنه و مابقی رو برامون زیپ کنه.

set &quotzipFile=output.zip&quot
set &quotignoreFile=.gitignore&quot
set &quotfilesToZip=&quot
rem Reading the gitignore file
if exist &quot%ignoreFile%&quot (
for /f &quotusebackq delims=&quot %%i in (&quot%ignoreFile%&quot) do (
if exist &quot%%i&quot (
set &quotignoreList[%%i]=1&quot
)
)
)
rem Function to check and add files and folders
call :addFilesAndFolders &quot.&quot
rem Compressing with WinRAR
set &quotrarPath=D:\Program Files\WinRAR\Rar.exe&quot
&quot%rarPath%&quot a &quot%zipFile%&quot !filesToZip!


حالا من اینو برای پروژه های جنگوم میخواستم و توی فایل ستینگ یه متغیر مخصوص به اسم دیپلوی همیشه اضافه میکنم که کنترل کنم در حالت لوکال به چه دیتابیسی وصل شه یا مقادیر متغیر های مهم چی باشه اما همیشه موقع فرستادن رو سرور یادم میره به True تغییر بدم مقدارش رو بخاطر همین یک bat فایل دیگه نوشتم که اینکارو بکنه.


@echo off
setlocal enabledelayedexpansion
set &quotpythonFile=config\settings.py&quot
set &quotnewValue=True&quot
rem Read and change
(
for /f &quotdelims=&quot %%i in ('findstr /n &quot^&quot &quot%pythonFile%&quot') do (
set &quotline=%%i&quot
set &quotline=!line:*:=!&quot rem Remove line number added by findstr
rem Check if the line is not empty
if &quot!line!&quot==&quot&quot (
echo.
) else (
if &quot!line!&quot==&quotdeploy = False&quot (
echo deploy = %newValue%
) else (
echo !line!
)
)
)
) > temp.py
rem replace file
move /y temp.py &quot%pythonFile%&quot
echo Variable updated successfully.
endlocal

این هم به ساده ترین شکل ممکن فقط میره و اون لاین رو تغییر میده و فایل موقت رو جایگزین فایل قبلی میکنه.

اگه تا اینجا پیش اومدید و تنبلی بیشتر رو دوست دارید ادامش مخصوص خودتونه، در ادامه یه فایل reg ویندوز هم نوشتم که باهاش گزینه ای به منوی راست کلیک ویندوز برای این کارها اضافه کنیم. با کلیک رو اون گزینه، bat فایل اول رو اجرا میشه و در خطوط اولش، bat فایل دوم که متغیر دیپلوی رو تغییر میداد رو فراخوانی میکنه.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\zipo]
@=&quotzipo&quot
[HKEY_CLASSES_ROOT\Directory\Background\shell\zipo\command]
@=&quot\&quotD:\\bats\\zipo.bat\&quot \&quot%V\&quot&quot


نکات مهم:

- من اسمش و متن گزینه رو گذاشتم zipo شما هرچی دلتون میخواد میتونید بزارید.

- لاین هفت رجیستری فایل، آدرس محل قرارگیری دوتا bat فایلمون هست.

حالا این فقط چیزی بود که کار منو راحت تر میکرد، قطعا شماهم کار های همیشگی دارید که با این جور روشا بتونید سریع تر انجامشون بدین.

کل فایل ها بعلاوه یه سری فایل دیگه رو تو ریپوی زیر میتونید پیدا کنید. از هر گونه pr هم استقبال میشه 😁

https://github.com/tahamusvi/Windows_tools/tree/main


اگر از این متن خوشتون اومد میتونید نوشته های دیگه ای مثل این رو تو کانالمون پیدا کنید.
https://t.me/Dev_Diaries_python

برنامه نویسیجنگولیارادیپلویویندوز
شاید از این پست‌ها خوشتان بیاید