דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בפקודות cmd, הגדרת משתנים

עזרה בפקודות cmd, הגדרת משתנים

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 3 כותבים 233 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • shragaS מנותק
    shragaS מנותק
    shraga
    כתב ב נערך לאחרונה על ידי shraga
    #1

    שלום אשמח לעזרת החברים דכאן, במספר פקודות שונות, אני יכתוב אותם בעברית ואשמח אם מישהו יעזור לי לתרגם אותם לפקודת cmd.

    פקודה שתפעיל קובץ exe בתלות בגירסת מערכת ההפעלה, היינו
    במידה ומערכת ההפעלה היא 64 ביט = יפתח קובץ בשם c:\test64.exe
    במידה והמערכת היא 32 ביט = יפתח קובץ בשם c:\test86.exe

    יש מספר פקודות אפשרויות שמציגות את גירסת מערכת ההפעלה, כגון:
    wmic os get osarchitecture
    או
    echo %PROCESSOR_ARCHITECTURE%

    לפי מה שאני מבין אני צריך הצבה של הפלט מהפקודות הנ"ל כמשתנה, ואז הגדרה שif המשתנה הוא

     OSArchitecture
    64-bit
    

    שיעשה start לקובץ c:\test64.exe ואם המשתנה הוא

    OSArchitecture
    32-bit
    

    שיעשה start לקובץ c:\test86.exe.

    לפי איך שנראה לי הפקודה היא:

    IF %processor_architecture%==AMD64 start c:\test64.exe
    

    אני צודק? אם כן, מה הפלט של processor_architecture במקרה של 32 ביט?

    תודה רבה!!

    קונים בעלי אקספרס? התוסף שיעזור לכם ✅ למצוא את המחיר הכי זול למוצר בעלי אקספרס 💰, ✅ לחפש כל מוצר שמצאתם באינטרנט ישירות בעלי 🔍, ✅ להשוות מחירים עם טימו 👈 התקינו חינם!⚡

    chvC תגובה 1 תגובה אחרונה
    0
    • כוכב שמחכ מנותק
      כוכב שמחכ מנותק
      כוכב שמח
      כתב ב נערך לאחרונה על ידי כוכב שמח
      #2

      @shraga

      reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set 1234=test86.exe || set 1234=test64.exe
      start c:\%1234%
      

      במקום ה '1234' תכתוב מה שאתה רוצה (בשלושת הפעמים).

      תגובה 1 תגובה אחרונה
      1
      • chvC מנותק
        chvC מנותק
        chv
        השיב לshraga ב נערך לאחרונה על ידי
        #3

        @shraga אתה צריך לבדוק את הערך של המערכת הפעלה. זה מה שמשנה (יכול להיות שהמעבד יהיה 64 אבל המערכת הפעלה 32)

        תסתכל כאן הכי ברור שיש: https://stackoverflow.com/a/35979925/13312191
        (תוסיף @echo off בהתחלה. ובמקום ההפניה לSUCCESS תשים את הפקודה להריץ את הקובץ המתאים ו-exit\pause)

        בלוג | מייל

        shragaS תגובה 1 תגובה אחרונה
        2
        • shragaS מנותק
          shragaS מנותק
          shraga
          השיב לchv ב נערך לאחרונה על ידי
          #4

          תודה לכם!

          @chv

          FOR /f "tokens=2 delims==" %%f IN ('wmic os get osarchitecture /value ^| find "="') DO SET "OS_ARCH=%%f"
          IF "%OS_ARCH%"=="32-bit" GOTO :32bit
          IF "%OS_ARCH%"=="64-bit" GOTO :64bit
          
          ECHO OS Architecture %OS_ARCH% is not supported!
          EXIT 1
          
          :32bit
          ECHO "32 bit Operating System"
          GOTO :START "c:\test86.exe"
          
          :64bit
          ECHO "64 bit Operating System"
          GOTO :START "c:\test64.exe"
          
          :SUCCESS
          EXIT 0
          
          
          

          אני כנראה מפספס את:
          @chv אמר בעזרה בפקודות cmd, הגדרת משתנים:

          ו-exit\pause)

          לא הבנתי מה בדיוק לשים והיכן, אין לי שום מושג בתחביר של cmd

          קונים בעלי אקספרס? התוסף שיעזור לכם ✅ למצוא את המחיר הכי זול למוצר בעלי אקספרס 💰, ✅ לחפש כל מוצר שמצאתם באינטרנט ישירות בעלי 🔍, ✅ להשוות מחירים עם טימו 👈 התקינו חינם!⚡

          chvC תגובה 1 תגובה אחרונה
          0
          • chvC מנותק
            chvC מנותק
            chv
            השיב לshraga ב נערך לאחרונה על ידי
            #5

            @shraga ככה:

            @echo off
            FOR /f "tokens=2 delims==" %%f IN ('wmic os get osarchitecture /value ^| find "="') DO SET "OS_ARCH=%%f"
            IF "%OS_ARCH%"=="32-bit" GOTO :32bit
            IF "%OS_ARCH%"=="64-bit" GOTO :64bit
            
            ECHO OS Architecture %OS_ARCH% is not supported!
            pause
            
            :32bit
            ECHO "32 bit Operating System"
            START "c:\test86.exe"
            pause
            
            :64bit
            ECHO "64 bit Operating System"
            START "c:\test64.exe"
            pause
            

            אם אין לך עניין שיציג הודעה אלא פשוט יפעיל את הקובץ המבוקש וייסגר מיד החלון של CMD, תחליף את המילים pause ב-exit

            בלוג | מייל

            תגובה 1 תגובה אחרונה
            1
            • dovidD dovid העביר נושא זה מ-תכנות ב-

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום