CMD יצירת קובץ שיפתח קבצים לפי משתנה שעה
-
אני רוצה ליצור קובץ BAT שיפתח לי קבצים לפי שעה ז"א שאם אני פותח אותו בין שעות מסוימות הוא יפתח לי מספר קבצים מסוימים ואם אפתח אותו בשעות אחרות הוא יפתח לי קבצים אחרים ולא בצורה הזאת ```
קודif %TIME:~0,2%==10 start chossns.pdf if %TIME:~0,2%==11 start chossns.pdf if %TIME:~0,2%==12 start chossns.pdf if %TIME:~0,2%==13 start chossns.pdf if %TIME:~0,2%==14 start chossns.pdf if %TIME:~0,2%==15 start chossns.pdf if %TIME:~0,2%==16 start chy.pdf if %TIME:~0,2%==17 start chy.pdf
שאלה נוספת איך אני עושה שיפתחו מספר קבצים בכל IF
-
@מרקורי אתה שואל איך לעשות ? או כותב? לא כל כך ברור
סתם כמה הערות על הקוד שכתבת:
בCMD אין אפשרות של multiple if statment. כלומר יש רק IF אחד וELSE אחד בכל זמן נתון.
אפשר להתגבר על זה על ידי יצירת שרשרת של IF ו-ELSE אחד בתוך השני. (כמובן שזה דפוק כי זה עומס של לוגיקה מיותרת. אבל מה לעשות)עוד דבר שחשוב זה - בCMD השוואה של ערך משתנה היא
lss
ולא == או משהו כזה.נגיד שקוד יעודי למה שכתבת ייראה בערך כך:
if %TIME:~0,2% lss 01 (start first.pdf) else ( if %TIME:~0,2% lss 02 (start second.pdf) else ( if %TIME:~0,2% lss 03 (start three.pdf)))
וכן על זו הדרך
להפעיל כמה קבצים ביחד, זה לא אפשרי בתור פרמטר של הפקודה start. אם אתה רוצהלהשתמש בCMD אתה חייב פשוט לכתוב פקודה לכל אחד בנפרד. (כלומר ככה -
start first.pdf
ואחרי זהstart second.pdf
) ולפני שלא סיים לעלות הקובץ הראשון, השני לא יתחיל לרוץ בכלל.
ככלל, עדיף לכאורהcall
על פניstart
. -
@chv תודה סליחה על הבורות התכוונתי לשאול איך לעשות, הקוד הזה עבד לי חלקית מוזר אבל הבנתי שזו לא הצורה
לכתוב לכן שאלתילגבי להפעיל כמה קבצים יחד שאלתי אם אפשר לכלול את זה באותו תנאי כי כשאני כותב פעמיים start זה לא נכלל בתנאי
אני מתנצל על הבורות הידע שלי בסיסי ומטה -
@מרקורי אוקיי
ממה שכתבתי הבנת? אני מקווה שכתבתי מספיק ברורלגבי מה שכתבת להכניס שני start באותו תנאי (אני חושב שעדיף לך call כי אאלט start כל אחד פותח חלון של CMD.) פשוט תכתוב אותם אחד אחרי השני או יותר טוב שתעשה אותם בצורה משורשרת כלומר בין פקודה לפקודה תכתוב && שזה אומר שאם הפקודה האחרונה הצליחה - יפעיל את הבאה. דוגמא:
if %TIME:~0,2% lss 01 (start first.pdf && start second.pdf) else ( if %TIME:~0,2% lss 02 (start second.pdf) else ( if %TIME:~0,2% lss 03 (start three.pdf)))
מקווה שני מספיק ברור.
תיקח את הקוד הזה ותרחיב אותו למה שאתה צריך.שים לב על המבנה של הסוגריים - תשתדל להבין כי אחרת זה לא יעבוד לך. כל סוגריים חייב להיסגר בסוף בצד השני. ובמקום הנכון.
מה שלא הבנת תכתוב