שאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים
-
@NH-LOCAL
דבר ראשון אני מאד נהנה מהסקריפטים שלך
אני זקוק ביותר לסקריפט ששואב קבצים ממלא תתי תקיות.
כלומר אם יש לי תקיה שיש בתוכה 10 קבצים +10 קיות תקיות ושבכל תקיה יש גם איזה 2 תקיות +5 קבצים)
שיקח את כל הקבצים שנמצאים בכל התקיות ותתי תתי התקיות וישים אותם בתקיה אחת.האם זה שייך?
-
@מתכנת-חובב כתב בשאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים:
ויש לו חסרון משמעותי - הוא הופך גם את הסיומת - אין לי כוח לחשוב עכשיו איך לסדר את זה
אני לא יודע אם זה רלוונטי אבל לא יכולתי להתאפק - כדי שהוא לא ישנה את הסיומת צריך לחליף את שורה 8 כך:
במקוםnewname = os.path.join(root, name[::-1])
פשוט כך:
newname = os.path.join(root, name[-3:0:-1] + name[-3::1])
עריכה: או יותר פשוט (ומדוייק):
nameonly = name.split('.') newname = os.path.join(root, nameonly[0][::-1] + '.' + nameonly[1])
-
@מאן-דאמר-5 הדרך הראשונה תשתבש בקבצים עם סיומת ארוכה יותר מ 3 תווים
הדרך השניה תשתבש כשיש נקודה בתוך שם הקובץ עצמו
לכן צריך לבדוק את גודל המערך nameonly ואם הוא גדול מ 2 איברים אז לצרף את כולם מלבד האחרון ולהפוך ולצרף לאיבר האחרון -
@מתכנת-חובב @מאן-דאמר-5 בדיוק בשביל זה פייתון היא שפת תכנות עם ספריות ולא אשפת תכנות (כמו שכבר אמר מישהו מהנוכחים כאן בעבר...)
מסתבר שישנה מתודה פשוטה שניתן להפריד אתה את סיומת הקובץ מהשם המלא:
newname = os.path.splitext(name)[0]
@שער-השמים בעקרון זה די פשוט. אבל יש דרך עוד יותר פשוטה - חפש בחיפוש בתיקיה בצורה הזו:
*.*
ואז יופיעו לך כל הקבצים. כעת תבחר את כל הקבצים עם קונטרול + A ותעביר אותם לתיקיה חדשה. -
@מתכנת-חובב כתב בשאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים:
@מאן-דאמר-5 הדרך הראשונה תשתבש בקבצים עם סיומת ארוכה יותר מ 3 תווים
הדרך השניה תשתבש כשיש נקודה בתוך שם הקובץ עצמו
לכן צריך לבדוק את גודל המערך nameonly ואם הוא גדול מ 2 איברים אז לצרף את כולם מלבד האחרון ולהפוך ולצרף לאיבר האחרוןעובד מעולה תודה,
השאלה האם יש אפשרות נוספת להוסיף (ואם לא אז להחליף) לשם הקובץ את שם התקיהלדוגמא אם יש לי תקיה שבתוכה יש תת תקיות ובכל תת תקיה יש תמונות. אז שהתמונות יקבלו את שם התקיה שמעליהם. נניח קובץ שנמצא בתקית תשפא/טיול צפון. ושם הקובץ הוא 556644. השם לאחר השינוי יהיה. טיול צפון_556644.
-
@NH-LOCAL כתב בשאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים:
@שער-השמים האם זה אפשרי? כן. לבצע את זה בפועל זה טיפה יותר מסובך
איך אפשר להתקדם אם זה יש אולי איזה סקירפט?
-
@חיים-שנקר
סתם בשביל הענין היה לי נגן עם אותה בעיה איפסתי אותו (רק הגדרות אפילו בלי חומר) והסתדר
( @שער-השמים מצטער על התיוג) -
@NH-LOCAL כתב בשאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים:
@שער-השמים אני ממליץ לך על צ'אט GPT. רק תביא בחשבון שזה ידרוש ניסוי וטעיה. כלומר, תצטרך לבדוק את הקוד שלו על כמות קבצים קטנה ולראות אם זה עובד. ואם זה לא - לבקש ממנו לתקן את הקוד בהתאם לשגיאה שהוצגה, וכן הלאה
עבד לי מצוין תודה
הוספתי את זה כמדריך
https://mitmachim.top/topic/56162/הוספת-שם-התקיה-לקובץ-מדריך -
@מאן-דאמר-5 אני חושב שהדרך הנכונה יותר לעשות את זה - זה בעזרת תוכנות מתאימות, חפש תוכנות גיבוי וסנכרון וכדו'
-
@מאן-דאמר-5 אני לא כ"כ מתמצא בעניין, אני אומר זאת רק מידע כללי. כדאי שפשוט תפתח נושא חדש על העניין
-
@צדיק-תמים כתב בשאלה | אינדקס כל הסקריפטים שלי - שאלות על כלל הסקריפטים ובקשות ליצירת סקריפטים חדשים:
@ידיד לא יודע למה עשיתי את זה... אבל הנה:
javascript: (() => { const suffixes = ['exe', 'zip', 'rar', '7z', 'tar', 'bat', 'cmd', 'apk']; const linksSelector = suffixes.map((suffix) => `a[href$=".${suffix}"]`).join(', '); const links = $(linksSelector).clone().get(); const ul = $('<ul/>'); for (const link of links) { const safeLink = $('<a>').attr('href', link.href).text(link.innerText).attr('target', '_blank'); const li = $('<li/>').append(safeLink); ul.append(li); } if (!links.length) return bootbox.alert('לא נמצאו קישורים לקבצים'); bootbox.dialog({ size: 'medium', title: `נמצאו ${links.length} קישורים לקבצים:`, message: ul, onEscape: true, backdrop: true, buttons: { open: { label: 'הורד את כל הקישורים', className: 'btn-info', callback: function () { for (const link of links) { window.open(link.href, '_blank'); } }, }, close: { label: 'סגור', className: 'btn-primary', callback: function () {}, }, }, }); })();
אפשר להריץ בקונסול או לשים בסימניה, ואפשר כמובן להוסיף סיומות נוספות לפי הצורך.
בשרשורים ארוכים יש לגלול את העמוד ואז להפעיל את הסקריפט, כדי שהפוסטים ייטענו.
הדגמה (מתוך הנושא הזה) :
לא הצלחתי.
מה אני אמור לעשות..?