פורסם 2007 בספטמבר 1118 שנים מישהו יודע איך אפשר לעשות IFבDOS שישווה בין שתי מחרוזות (=משפטים) ככה ש: את הראשון אני מכניס ואת השני אני מקבל מקובץ DOS אחר שמחזיר לי מחרוזת?זה מה שאני כתבתי - וזה לא עבד, מבקש עזרה כמה שיותר דחוף. תודה מראש =]IF %a.cmd == "I'm Fine. " (echo he's finepause) ELSE (echo ------------------echo he needs help...pause)כשתכתבו, תכתבו בבקשה משהו שכבר ניסיתם וזה עבד - דוגמא עובדת. אני חרשתי כבר מלא אתרים בנושא, ובלי דוגמאות ולא הצלחתי.
פורסם 2007 בספטמבר 1118 שנים אני לא חושב שאתה יכול להחזיר מחרוזת מקובץ bat. אתה יכול להחזיר קוד (מספר) אבל לא מחרוזת.מה שאתה יכול לעשות הוא לשמור את המחרוזת ש a.cmd אמור להחזיר לקובץ ולקרוא אותה מהקובץ השני.עריכה: אחרי חיפוש קצר בגוגל כנראה שטעיתי וכן אפשר. תראה את ההודעה השלישית מהסוף כאן:http://www.google.com/search?q=cache:_B7PSN9ZJTUJ:www.experts-exchange.com/Operating_Systems/MSDOS/Q_20687843.html+bat+file+return+value&hl=en&ct=clnk&cd=5&client=firefox-a
פורסם 2007 בספטמבר 1118 שנים מחבר קראתי את זהאני לא מצליח - אתה ניסית והצלחת לפי מה שהוא כתב? אתה יכול לכתוב מה כתבת ולהסביר פחות או יותר מה כתבת?עריכה:ניסיתי להשוות "סתם" בין שתי מחרוזות - גיליתי שזה יותר קשה! יש לי שגיאה בקוד ואני לא מצליח למצוא אותהif ["yess"]==["yess"](echo yess) else if not["yess"]==["yess"](echo ------------------echo noooecho ------------------)pause
פורסם 2007 בספטמבר 1218 שנים לפי help if אתה אמור להיות מסוגל לעשות את זה ככה:IF %USER%==Zelig goto EQUALecho differentgoto END:EQUALecho equal:ENDecho Repent, for the END is at hand!כך בחשבון שיתכן שזה לא תומך ברווחים במחרוזות, ואולי אסור רווחים בין == למחרוזות.כמו כן יש הבדל בין גרסאות שונות של ה-command shell (כלומר XP, 2000, WIN98 וכו').
פורסם 2007 בספטמבר 1218 שנים מחבר OK הצלחתי להשוות בין שתי מילים! תודה עכשיו הבעיה שלי היא להשוות בין שני משפטים set a=blahblahblah ככה אני הגדרתי משתנה A ואז שאלתי אם הוא שווה ל-B שגם הגדרתי (במקום לשאול ישירות אם A שווה למחרוזת שלהי, שאלתי האם הוא שווה לB ששווה למחרוזת): if [%a%]==[%b%] (echo yappy ) זה עובד, אז אני שואל איך להשוות בין שני משפטים (שיש ביניהם רווחים) - את זה לא הצלחתי לעשות. תודה מראש
פורסם 2007 בספטמבר 1218 שנים אולי עם for?בכל מקרה אתה די אונס את batch לעשות דברים שהוא לא מתוכנן להם. תשיג shell אמיתי, כמו powershell, או משהו כמו binutils, או אפילו perl.
פורסם 2007 בספטמבר 1318 שנים מחבר האמת היא שחשבתי באמת לכתוב את מה שאני עושה בPERL, אבל אחת המחרוזות (ימח שמה) מוחזרת אלי מקובץ דוסי וזה משהו שאסור לי לשנות. אולי יש באמת דרך לקרוא אותה עם PERL? או לשמור אותה איכשהו מדוס לקובץ TXT ואחרי זה לקורא אותה עם PERL? (אין לי מושג איך לשמור ואיך לקרוא..) אם מישהו יודע תביאו דוגמא שעובדת בבקשה... בקיצור הנה שוב מה שאני צריך: להשוות שתי מחרוזות כך ש: הראשונה מוחזרת מקובץ DOS השניה - ללא הגבלות . תודה לעוזרים
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.