קובץ BAT לשינוי שמות קבצים במספרים
-
@ספרא צור קובץ bat עם הטקסט הזה:
set /a count=1 setlocal enabledelayedexpansion for /r %%i in (*.pdf) do ( rename "%%i" "!count!.pdf" set /a count+=2 )
בהרצה שלו בתוך התיקייה בה נמצאים כל הקבצים שאתה רוצה לשנות זה ישנה כמו שכתבת.
כדי להשתמש בו לקבצים שיישתנו למספרים הזוגיים (2,4,6) - פשוט תשנה בשורה הראשונה מ-1 ל-2.
ולשמור, ולהריץ כנ"ל.נ.ב. תגבה קודם כל דבר. שלא יהיה פדיחות
-
@chv אמר בקובץ BAT לשינוי שמות קבצים במספרים:
בהרצה שלו בתוך התיקייה בה נמצאים כל הקבצים שאתה רוצה לשנות זה ישנה כמו שכתבת.
כדי להשתמש בו לקבצים שיישתנו למספרים הזוגיים (2,4,6) - פשוט תשנה בשורה הראשונה מ-1 ל-2.
ולשמור, ולהריץ כנ"ל.
נ.ב. תגבה קודם כל דבר. שלא יהיה פדיחותעכשיו אני רואה שיש כאן בעיה אם הוא מגיע למספר 20 (כלומר אם יש יותר מ9 קבצים שהתוצאה זה שהשם מספר 20) הוא משתבש ויש בלבול בקבצים
אשמח מאוד עם יהיה פתרון לבעיה תודה -
@chv אמר בקובץ BAT לשינוי שמות קבצים במספרים:
אני לא מצליח לעשות אצלי בעיה כמו שתיארת.
כשאני מריץ את הסקריפט - גם על תיקייה עם מאות קבצים - הכל עובד חלק והם משתנים למספרים עוקבים בדילוג יחיד.
אולי אתה מריץ את זה כמה פעמים?
מריצים את זה רק פעם אחת בלבד
אחרת זה בהחלט ישתבש.גם אצלי זה מריץ את השמות בצורה טובה הבעיה שזה משבש את הסדר כלומר הקובץ שהיה מספר 20 לפני ההרצה יכול להיות 200 וכד'
-
@chv אמר בקובץ BAT לשינוי שמות קבצים במספרים:
אוקיי עכשיו הבנתי.. חבל שלא תיארת את זה לפני. איך כן הקבצים מסודרים? כלומר איזו אינדיקציה אמורה להיות לסקריפט כדי להבין מי ראשון ומי אחרון? (חוץ מסדר הקבצים - שזה מה שקובע לו עכשיו)
פשוט זה ממוספר 12345 וכו' בסדר עולה - וככה אני רוצה שזה יהיה 1356 כלומר מה שהיה1 שיהיה 1 מה שהיה 2 יהיה3 וכו'
תודה -
@ספרא אמר בקובץ BAT לשינוי שמות קבצים במספרים:
גם אצלי זה מריץ את השמות בצורה טובה הבעיה שזה משבש את הסדר כלומר הקובץ שהיה מספר 20 לפני ההרצה יכול להיות 200 וכד'
זה רק מוצג על המסך ככה או גם התוכן ?
-
@משחזר-מידע אמר בקובץ BAT לשינוי שמות קבצים במספרים:
זה רק מוצג על המסך ככה או גם התוכן ?
מה הפירוש תוכן?
-
@איש-ימיני אמר בקובץ BAT לשינוי שמות קבצים במספרים:
@ספרא
יש לי משהו שמשנה את השמות של קבצי wav לפי קובץ טקסט.
זה כן עובד לפי הסדר.
אולי יוכלו כאן להתאים לך את זה.
מה זה עושה? -
סורי שנעלמתי..
@ספרא אמר בקובץ BAT לשינוי שמות קבצים במספרים:
פשוט זה ממוספר 12345 וכו' בסדר עולה - וככה אני רוצה שזה יהיה 1356 כלומר מה שהיה1 שיהיה 1 מה שהיה 2 יהיה3 וכו'
אוקיי..
אז צריך שהסקריפט קודם יסדר את רשימת הקבצים (אצלו, בתהליך שהוא עושה) לפי סדר על פי שמות (ככה זה יסתדר לפי הסדר של המספרים).
ורק אז ישנה להם את השמות.אין לי כוח לנסות CMD לזה כי זה מסורבל. הנה ככה זה ייראה בפווארשל:
param([string]$path = '.') $count = 1 Get-ChildItem -path $path -Filter '*.pdf' | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) } | ForEach-Object -Process { $filename = '{0}.pdf' -f $count $_ | Rename-Item -NewName $filename $count = $count+2 }
וכנל - השינוי מאי-זוגי לזוגי מתבצע בשורה השניה - count.
אגב -
@איש-ימיני אמר בקובץ BAT לשינוי שמות קבצים במספרים:
@ספרא
יש לי משהו שמשנה את השמות של קבצי wav לפי קובץ טקסט.
זה כן עובד לפי הסדר.
אולי יוכלו כאן להתאים לך את זה.
שינוי שמות.cmd
1.txtו- @ספרא אמר בקובץ BAT לשינוי שמות קבצים במספרים:
@איש-ימיני
תודה עובד מצויןלגמרי לא הבנתי מה זה שונה ממה שכתבתי למעלה (אני פשוט לא רואה שום הבדל. אשמח שתחכימו אותי)
@איש-ימיני אמר בקובץ BAT לשינוי שמות קבצים במספרים:
ניתן להריץ כזה דבר, באופן שירוץ גם על כל תיקיות המשנה?
לכאורה כן אפשרי גם ב-CMD.
אבל כמו שכתבתי עזבו CMD, פווארשל הרבה יותר טוב והרבה יותר מדויק בשביל הדברים האלה. -
@chv
@איש-ימיני אמר בקובץ BAT לשינוי שמות קבצים במספרים:@ספרא
יש לי משהו שמשנה את השמות של קבצי wav לפי קובץ טקסט.
זה כן עובד לפי הסדר.
אולי יוכלו כאן להתאים לך את זה.
שינוי שמות.cmd
1.txt
ו- @ספרא אמר בקובץ BAT לשינוי שמות קבצים במספרים:
@איש-ימיני
תודה עובד מצוין
לגמרי לא הבנתי מה זה שונה ממה שכתבתי למעלה (אני פשוט לא רואה שום הבדל. אשמח שתחכימו אותי)אני לא יודע, אבל זה מחליף לפי הסדר, אתה יכול לבדוק.
-
@ספרא אמר בקובץ BAT לשינוי שמות קבצים במספרים:
מה הפירוש תוכן?
האם תוכן של קובץ 200 הוא באמת עמוד 200 והוא רק מוצג על המסך אחרי קובץ 20
או שקובץ 200 הוא עמוד 21 ? -
@משחזר-מידע אמר בקובץ BAT לשינוי שמות קבצים במספרים:
האם תוכן של קובץ 200 הוא באמת עמוד 200 והוא רק מוצג על המסך אחרי קובץ 20
או שקובץ 200 הוא עמוד 21 ?קובץ 200 הוא עמוד 21
-
@chv אמר בקובץ BAT לשינוי שמות קבצים במספרים:
אוקיי..
אז צריך שהסקריפט קודם יסדר את רשימת הקבצים (אצלו, בתהליך שהוא עושה) לפי סדר על פי שמות (ככה זה יסתדר לפי הסדר של המספרים).
ורק אז ישנה להם את השמות.
אין לי כוח לנסות CMD לזה כי זה מסורבל. הנה ככה זה ייראה בפווארשל:הקובץ לא עובד