בקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8
-
אולי @sivan22 או @האדם-החושב או @י-פל [סליחה מראש על התיוג, אבל אני חושב שזה דבר שנצרך לרבים] יוכלו לעזור עם קוד פייתון שכזה לדוגמא:
import os root_folder = 'path/to/root/folder' for root, dirs, files in os.walk(root_folder): for file_name in files: if file_name.endswith('.txt'): file_path = os.path.join(root, file_name) with open(file_path, 'r', encoding='ansi') as file: content = file.read() with open(file_path, 'w', encoding='utf-8') as file: file.write(content)
גילוי נאות, אני לא מבין בזה כלל, זה מאחד המודלים שלא הסכים לכתוב לי יותר...
-
@מחפש1 אפשר לעשות זאת באמצעות הקוד הבא בשורת הפקודה:
powershell "(Get-Content "נתיב_מקור" -Encoding default | Out-File "נתיב_יעד" -Encoding utf8)"
תחליף את
"נתיב_מקור"
בנתיב של הקובץ מקור ואת"נתיב_יעד"
בשם של נתיב חדש שאתה רוצה עבור קובץ חדש עם הקידוד הרצוי -
@NH-LOCAL כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 אפשר לעשות זאת באמצעות הקוד הבא בשורת הפקודה:
powershell "(Get-Content "נתיב_מקור" -Encoding default | Out-File "נתיב_יעד" -Encoding utf8)"
תחליף את
"נתיב_מקור"
בנתיב של הקובץ מקור ואת"נתיב_יעד"
בשם של נתיב חדש שאתה רוצה עבור קובץ חדש עם הקידוד הרצויתודה לכולם
מה נקרא "נתיב מקור"? שם הקובץ או שם התיקיה?
כי אם זה שם הקובץ אז זה לא מועיל לי לקבצים מרובים -
@NH-LOCAL כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 אפשר לעשות זאת באמצעות הקוד הבא בשורת הפקודה:
powershell "(Get-Content "נתיב_מקור" -Encoding default | Out-File "נתיב_יעד" -Encoding utf8)"
תחליף את
"נתיב_מקור"
בנתיב של הקובץ מקור ואת"נתיב_יעד"
בשם של נתיב חדש שאתה רוצה עבור קובץ חדש עם הקידוד הרצויעשיתי לפי מיקום התיקיה וזה מה שקיבלתי:
Get-Content : A positional parameter cannot be found that accepts argument 'טקסט\אחרונים'.
At line:1 char:2- (Get-Content D:\אוצריא\אוצריא\קבצי טקסט\אחרונים -Encoding default | ...
-
+ CategoryInfo : InvalidArgument: (:) [Get-Content], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetContentCommand
-
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@NH-LOCAL כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 אפשר לעשות זאת באמצעות הקוד הבא בשורת הפקודה:
powershell "(Get-Content "נתיב_מקור" -Encoding default | Out-File "נתיב_יעד" -Encoding utf8)"
תחליף את
"נתיב_מקור"
בנתיב של הקובץ מקור ואת"נתיב_יעד"
בשם של נתיב חדש שאתה רוצה עבור קובץ חדש עם הקידוד הרצויתודה לכולם
מה נקרא "נתיב מקור"? שם הקובץ או שם התיקיה?
כי אם זה שם הקובץ אז זה לא מועיל לי לקבצים מרוביםצריך להכניס נתיב של הקובץ. הפקודה הזו מיועדת לקובץ אחד. אבל אפשר להגדיר שהיא תעבור על כל התיקיה עם שרשור פור פשוט
-
@NH-LOCAL כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@NH-LOCAL כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 אפשר לעשות זאת באמצעות הקוד הבא בשורת הפקודה:
powershell "(Get-Content "נתיב_מקור" -Encoding default | Out-File "נתיב_יעד" -Encoding utf8)"
תחליף את
"נתיב_מקור"
בנתיב של הקובץ מקור ואת"נתיב_יעד"
בשם של נתיב חדש שאתה רוצה עבור קובץ חדש עם הקידוד הרצויתודה לכולם
מה נקרא "נתיב מקור"? שם הקובץ או שם התיקיה?
כי אם זה שם הקובץ אז זה לא מועיל לי לקבצים מרוביםצריך להכניס נתיב של הקובץ. הפקודה הזו מיועדת לקובץ אחד. אבל אפשר להגדיר שהיא תעבור על כל התיקיה עם שרשור פור פשוט
סליחה, מה זה שרשור פור פשוט??
-
@מחפש1
בדוק אם עובד:import os import chardet import tkinter as tk from tkinter import filedialog, messagebox def detect_encoding(file_path): """ זיהוי קידוד הקובץ באמצעות chardet """ with open(file_path, 'rb') as f: raw_data = f.read() result = chardet.detect(raw_data) return result['encoding'] def convert_to_utf8(input_folder, output_folder): """ המרת כל קבצי ה-.txt מקידוד ANSI (או קידודים אחרים) ל-UTF-8 """ converted_files = [] failed_files = [] for filename in os.listdir(input_folder): if filename.endswith(".txt"): input_file = os.path.join(input_folder, filename) output_file = os.path.join(output_folder, filename) # זיהוי קידוד הקובץ encoding = detect_encoding(input_file) try: # המרת הקובץ with open(input_file, 'r', encoding=encoding, errors='ignore') as infile: content = infile.read() with open(output_file, 'w', encoding='utf-8') as outfile: outfile.write(content) converted_files.append((filename, encoding)) # רישום המרה מוצלחת except Exception as e: failed_files.append((filename, str(e))) # רישום קובץ שנכשל בהמרה # הצגת תוצאות למשתמש message = "המרה הושלמה!\n\n" if converted_files: message += "הקבצים הבאים הומרו בהצלחה:\n" for filename, encoding in converted_files: message += f"{filename} (קידוד מקורי: {encoding})\n" if failed_files: message += "\nהקבצים הבאים לא הומרו בהצלחה:\n" for filename, error in failed_files: message += f"{filename} (שגיאה: {error})\n" messagebox.showinfo("תוצאות ההמרה", message) def browse_input_folder(): input_folder = filedialog.askdirectory() if input_folder: input_folder_var.set(input_folder) def browse_output_folder(): output_folder = filedialog.askdirectory() if output_folder: output_folder_var.set(output_folder) def start_conversion(): input_folder = input_folder_var.get() output_folder = output_folder_var.get() if not input_folder or not output_folder: messagebox.showwarning("תיקיות חסרות", "אנא בחר תיקיות קלט ופלט.") return convert_to_utf8(input_folder, output_folder) # יצירת חלון ראשי root = tk.Tk() root.title("המרת קבצי ANSI ל-UTF-8") input_folder_var = tk.StringVar() output_folder_var = tk.StringVar() # בחירת תיקיית קלט tk.Label(root, text="בחר תיקיית קלט:").grid(row=0, column=0, padx=10, pady=10) tk.Entry(root, textvariable=input_folder_var, width=40).grid(row=0, column=1, padx=10, pady=10) tk.Button(root, text="עיון", command=browse_input_folder).grid(row=0, column=2, padx=10, pady=10) # בחירת תיקיית פלט tk.Label(root, text="בחר תיקיית פלט:").grid(row=1, column=0, padx=10, pady=10) tk.Entry(root, textvariable=output_folder_var, width=40).grid(row=1, column=1, padx=10, pady=10) tk.Button(root, text="עיון", command=browse_output_folder).grid(row=1, column=2, padx=10, pady=10) # כפתור המרה tk.Button(root, text="המר", command=start_conversion).grid(row=2, column=1, padx=10, pady=10) # הפעלת הממשק root.mainloop()
-
@י-פל כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
בשמחה. איך אשלח לך? זה שוקל קצת יותר מ 1 ג"ב
תעלה לדרייב, אני כבר יקח את זה משם [ואז תוכל למחוק, שלא יתפוס לך מקום].
הנה קישור לדרופבוקס, ותעדכן בבקשה כשגמרת להוריד שאוכל למחוק
https://www.dropbox.com/scl/fi/845exjpibnvr76u9045ek/.rar?rlkey=22lmlw0pluk7vgx8pphp83j4m&dl=0 -
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@י-פל כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
בשמחה. איך אשלח לך? זה שוקל קצת יותר מ 1 ג"ב
תעלה לדרייב, אני כבר יקח את זה משם [ואז תוכל למחוק, שלא יתפוס לך מקום].
הנה קישור לדרופבוקס, ותעדכן בבקשה כשגמרת להוריד שאוכל למחוק
https://www.dropbox.com/scl/fi/845exjpibnvr76u9045ek/.rar?rlkey=22lmlw0pluk7vgx8pphp83j4m&dl=0וואו!
מאיפה החומר? -
@י-פל כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@י-פל כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
@מחפש1 כתב בבקשת מידע | איך לשנות הרבה קבצי TXT לקידוד UTF-8:
בשמחה. איך אשלח לך? זה שוקל קצת יותר מ 1 ג"ב
תעלה לדרייב, אני כבר יקח את זה משם [ואז תוכל למחוק, שלא יתפוס לך מקום].
הנה קישור לדרופבוקס, ותעדכן בבקשה כשגמרת להוריד שאוכל למחוק
https://www.dropbox.com/scl/fi/845exjpibnvr76u9045ek/.rar?rlkey=22lmlw0pluk7vgx8pphp83j4m&dl=0וואו!
מאיפה החומר?קיבלתי מחבר לפני הרבה שנים