בירור | פלט מסקריפט לקובץ log.txt
-
@NH-LOCAL לא הבנתי בדיוק...
זה הסקריפט
main.bat
אני רוצה שבחלק של הrecompile, כל הפלט (מדובר תכל'ס ב30 פקודות שרצות שוב ושוב) ישמר בסיום הפעולה לlog.txt
אם אני מבין נכון, צריך להיות כתוב ככה::recompile @echo ============================== @echo your recompiled APKs is in /apk-name (for example, 1)/dist @echo ============================== for /L %%a in (1,1,30) do apktool b %%a\ >log.txt @echo if you want to close software, close this window. if you want to return to main menu pause goto :main
-
-
@A0533057932 חוץ מעל ידי הורדת תוכנה wtee לא הבנתי שם שום אופציה.
והתוכנה זה לא כל כך אופציה, כי זה סקריפט שאני מפרסם כקוד פתוח, ואני רוצם שכולם יוכלו להריץ אותו. -
@מישהו12 אמר בבירור | פלט מסקריפט לקובץ log.txt:
@NH-LOCAL לא הבנתי בדיוק...
זה הסקריפט
main.bat
אני רוצה שבחלק של הrecompile, כל הפלט (מדובר תכל'ס ב30 פקודות שרצות שוב ושוב) ישמר בסיום הפעולה לlog.txt
אם אני מבין נכון, צריך להיות כתוב ככה::recompile @echo ============================== @echo your recompiled APKs is in /apk-name (for example, 1)/dist @echo ============================== for /L %%a in (1,1,30) do apktool b %%a\ >log.txt @echo if you want to close software, close this window. if you want to return to main menu pause goto :main
הבנת נכון. ובפקודה השנייה ואילך, צריך להיות שתי >>
-
@מישהו12 תנסה לעבור על זה
https://stackoverflow.com/questions/796476/displaying-windows-command-prompt-output-and-redirecting-it-to-a-fileזה אפשרות:
echo hello > log.txt | type log.txt
רק שבצורה כזו תצטרך לעשות קובץ בנפרד לכל פקודה
-
@מישהו12 שאלה מעניינת...
ברמת העיקרון, פלט של תהליך - מוזרם לסטרים שמכונה STDOUT (אני מדבר על לינוקס, אני לא כ"כ יודע איך זה פועל בווינדוס.. אני מאמין שבדרך דומה). בלינוקס (Unix ליתר דיוק), ישנה פקודה שמאפשרת להזרים את הסטרים (במקרה שלנו STDOUT, ניתן לעשות זאת גם עם הסטרים של השגיאות) לקובץ או לסטרים אחר מלבד לפלט שיוצג במסך - באמצעות הפקודה
tee
. דוג':<command> | tee output.txt
אם אתה רוצה לכלול STDERR שזה סטרים של השגיאות, תוסיף הפנייה של הזרם של השגיאות לנתיב הסטנדרטי של הפלט לפני הפייפ ככה:
<command> 2>&1 | tee output.txt
הפעולה הנ"ל הינה פעולה מוכרת ונקראת Redirect. ביצוע של Redirect נעשה באמצעות הסימנים
>
וגם<
. במקרה שלנו, אנחנו מבצעים redirect לסטרים של השגיאות לתוך מה שנקראfile descriptor
שפירושו בגדול הוא 'מזהה קובץ השייך לתהליך' (זה מורכב, אבל זה על קצה המזלג) ובמקרה שלנו אנחנו משתמשים ב-STDOUT כאותוfile descriptor
.במקרה שלך אם הבנתי אותך נכון, אתה רוצה להוסיף לקובץ את הפלט, ולא לדרוס את התוכן שלו אם קיים. בשביל זה תצטרך להשתמש ב-flag של הפקודה tee שנכתב כ
-a
כך:<command> 2>&1 | tee -a output.txt
יש על הנושא הרבה מדריכים, תנסה לקרוא אולי את זה (נראה די מוצלח):
https://www.computerhope.com/jargon/f/file-descriptor.htm
אני חוזר ומדגיש: אם אתה צריך בירור לווינדוס, אני לא מבין בזה - אבל אתה יכול לנסות לחפש בגוגל על הפניות של STDOUT לתוך סטרימים אחרים בנוסף למסך במערכת ווינדוס, זה בגדול הרעיון.
עריכה: זה גם נראה מדריך טוב https://www.geeksforgeeks.org/tee-command-linux-example
-
בנוסף לדברי @מוטי-אורן התותח, @מישהו12 ממליץ לך לקרוא את כל הפוסטים במדריך המעולה והבהיר והמקיף של @yzahn על כל העולם הזה של CLI, שיבהיר לך כ"כ הרבה דברים שכשיהיה לך אותם בראש יהיו לך הרבה פחות שאלות, והשאלות שיהיו לך - יהיו פרקטיות יותר..
קישור למדריך בפורום תחומים.
מומלץ לכל אחד. זה חומר בסיסי לחיים. -
@chv אמר בבירור | פלט מסקריפט לקובץ log.txt:
בנוסף לדברי @מוטי-אורן התותח, @מישהו12 ממליץ לך לקרוא את כל הפוסטים במדריך המעולה והבהיר והמקיף של @yzahn על כל העולם הזה של CLI, שיבהיר לך כ"כ הרבה דברים שכשיהיה לך אותם בראש יהיו לך הרבה פחות שאלות, והשאלות שיהיו לך - יהיו פרקטיות יותר..
קישור למדריך בפורום תחומים.
מומלץ לכל אחד. זה חומר בסיסי לחיים.קראתי אותו כבר יותר מפעם אחת למה הוא רלוונטי לכאן?