[Flash] تعيين إخراج الأوامر إلى متغير في ملف دفعي


Answers

هذه الوظيفة لديها طريقة لتحقيق ذلك

من (زفربا) يمكنك القيام بذلك عن طريق إعادة توجيه الإخراج إلى ملف أولا. فمثلا:

echo zz > bla.txt
set /p VV=<bla.txt
echo %VV%
Question

أحاول تعيين إخراج أمر إلى متغير - كما في، أحاول تعيين الإصدار فلاش الحالي لمتغير. وأنا أعلم أن هذا خطأ، ولكن هذا هو ما حاولت:

سيت فار = ريج كيري هكلم \ سوفتوار \ ماكروميديا ​​\ فلاشبلاير \ كيرنتفرزيون>

أو

ريج كيري هكلم \ سوفتوار \ ماكروميديا ​​\ فلاشبلاير \ كيرنتفرزيون >> مجموعة فار

نعم، كما ترون أنا خسر قليلا. هو موضع تقدير أي وجميع المساعدة!




حسنا هنا بعض عينة أكثر تعقيدا لاستخدام ل / F

:: Main
@prompt -$G
    call :REGQUERY  "Software\Classes\CLSID\{3E6AE265-3382-A429-56D1-BB2B4D1D}"

@goto :EOF

:REGQUERY
:: Checks HKEY_LOCAL_MACHINE\ and HKEY_CURRENT_USER\ 
:: for the key and lists its content

    @call :EXEC "REG QUERY  HKCU\%~1"
    @call :EXEC "REG QUERY "HKLM\%~1""

@goto :EOF    

:EXEC
    @set output=

    @for /F "delims=" %%i in ('%~1 2^>nul') do @(
        set output=%%i
    )

    @if not "%output%"=="" (
        echo %1 -^> %output%
    )

@goto :EOF

أنا معبأة في وظيفة الفرعية : إيكسيك لذلك كل من تفاصيله سيئة التنفيذ لا يغرق السيناريو الرئيسي. لذلك حصلت على بعض كيندا بعض البرنامج التعليمي دفعة. ملاحظات 'نوبة التعليمات البرمجية:

  1. الإخراج من الأمر المنفذة عن طريق المكالمة: يتم تخزين الأمر إيكسيك في ٪ الناتج٪ . دفعة سمد لا يهتم بالنطاقات لذلك٪ الناتج٪ سوف تكون متاحة أيضا في البرنامج النصي الرئيسي.
  2. و @ البداية هي مجرد زخرفة وهناك لقمع صدى سطر الأوامر. يمكنك حذف كل منهم ووضع للتو بعض echo قبالة في السطر الأول هو حقا لم يكره ذلك. ولكن مثل هذا أجد التصحيح أكثر من ذلك بكثير لطيف. الديكور رقم اثنين موجه - $ G. انها هناك لجعل الأمر تبدو سريعة مثل هذا ->
  3. يمكنني استخدام :: بدلا من ريم
  4. تيلد (~) في ٪ ~ 1 هو إزالة علامات الاقتباس من الوسيطة الأولى
  5. 2 ^> نول هناك لقمع / تجاهل إخراج الخطأ ستدير . عادة كنت تفعل ذلك عبر 2> نول . حسنا و ^ الهروب دفعة شار هناك يتجنب حل في وقت مبكر إعادة التوجيه (>). هناك بعض سيمولار استخدام قليلا في وقت لاحق في البرنامج النصي: echo %1 -^>... لذلك هناك ^ يجعل من الممكن إخراج '>' عن طريق صدى ما لم يكن ممكنا.
  6. حتى إذا كانت المقارنة فيif @if not "%output%"=="" تبدو في لغات البرمجة الأكثر شيوعا - ربما يكون الأمر مختلفا عن المتوقع (إذا لم تكن تستخدم ل مس-باتش). حسنا إزالة '@' في البداية. دراسة الإخراج. تغييره إلى not %output%=="" -Rerun ونعتبر لماذا لا يعمل هذا. ؛)