لحذف مسار معين من المتغير %path% في ملف دفعات (batch)، يمكنك استخدام الأمر التالي:
batch@echo off setlocal enabledelayedexpansion set "specialstr=special_part" set "new_path=" for %%i in ("%path:;=" "%") do ( if /i "%%~i" neq "%cd%" ( set "new_path=!new_path!;%%~i" ) ) rem Remove leading semicolon set "new_path=%new_path:~1%" echo %new_path% endlocal
يقوم هذا السكربت بتحليل المتغير %path% باستخدام الفاصلة المنقوطة (;) كفاصل بين القيم، ثم يتحقق من كل قيمة إذا كانت مساوية للمسار الحالي %cd% أو لا، ويضيفها إلى متغير جديد new_path إذا لم تكن.
عند تشغيل هذا السكربت، سيتم طباعة المتغير new_path بمسار %path% المعدل دون المسار الذي تحدده في %cd%.
يرجى تغيير قيمة specialstr إلى الجزء الديناميكي الذي تبحث عنه، وتشغيل السكربت في المجلد الذي تريد حذف المسار منه.
المزيد من المعلومات
بالتأكيد، إليك بعض المعلومات الإضافية حول الدفعات (batch) وكيفية استخدامها في سيناريوهات مختلفة:
-
تعريف المتغيرات والثوابت:
- يمكنك تعريف متغيرات باستخدام الأمر
set
، مثلset var=value
. - لاستخدام القيمة المخزنة في المتغير، استخدم
%var%
.
- يمكنك تعريف متغيرات باستخدام الأمر
-
الدورات (Loops):
- يمكنك استخدام الدورة
for
لتنفيذ أوامر متكررة، مثل:batchfor %%i in (1 2 3 4 5) do ( echo %%i )
- يمكنك استخدام
for
لتحليل سلاسل النصوص، مثل:batchfor %%i in ("one" "two" "three") do ( echo %%i )
- يمكنك استخدام الدورة
-
الشروط (Conditions):
- يمكنك استخدام الشرط
if
لتنفيذ أوامر معينة بناءً على شرط معين، مثل:batchif %var%==value ( echo "Condition is true" ) else ( echo "Condition is false" )
- يمكنك استخدام الشرط
-
التأخير وتمكين التأخير المتأخر (Delayed Expansion):
- يمكنك تمكين التأخير المتأخر باستخدام
setlocal enabledelayedexpansion
، ثم استخدام!var!
بدلاً من%var%
داخل الدورات للحصول على القيمة الحالية.
- يمكنك تمكين التأخير المتأخر باستخدام
-
تنفيذ الأوامر الخارجية:
- يمكنك تنفيذ الأوامر الخارجية مثل برامج أو أدوات من داخل ملف دفعات باستخدام الأمر
start
، مثل:batchstart notepad.exe
- يمكنك تنفيذ الأوامر الخارجية مثل برامج أو أدوات من داخل ملف دفعات باستخدام الأمر
هذه بعض الأمثلة البسيطة على كيفية استخدام الدفعات في الويندوز. يرجى ملاحظة أنه يمكن أن تكون هناك حالات استخدام متعددة للدفعات، وقد تختلف الأمثلة والتقنيات باختلاف الحالة والمتطلبات.