сначала сделайте резервную копию ваших файлов! вы можете использовать лайнер python one -:
python -c "import glob,os; [os.rename(fn, fn.replace('.MP3', '.mp3')) for fn in glob.glob('PATH_TO_YOUR_DIRECTORY')]"
РЕДАКТИРОВАТЬ:
Вот подробное объяснение того, как на самом деле работает один вкладыш -. Используя python -c
, мы передаем команду интерпретатору Python. После импорта библиотек os
для функции rename
и glob
для списка файлов нам нужно перебрать список файлов в заданном каталоге, который я назвал PATH_TO_YOUR_DIRECTORY
, например что-то вроде ./*
для всего в текущем каталоге.
В синтаксисе one -liner, к сожалению, for
циклы не работают после нотации import
, поэтому нам нужно использовать скобочную нотацию. т.е. для каждого имени файла или каталога, которое glob
дает нам по заданному пути в виде строки, мы заменяем *.MP3 на *.mp3.
Поскольку в OP не упоминается рекурсивный поиск, я не стал включать его в первую очередь.
Возможно, ваш сервер настроен как открытый ретранслятор . Таким образом, посторонний человек может подключиться к вашему серверу и сказать «отправьте это сообщение на gmail». Ваша машина принимает его и передает.
Если вы проверите свои журналы до этой строки, вы можете увидеть строки, подобные этой:
Jul 24 17:51:15 SERVER postfix/smtpd[17418]: connect from unknown[2.57.122.202]
Jul 24 17:51:21 SERVER postfix/smtpd[17418]: NOQUEUE: reject: RCPT from unknown[2.57.122.202]: 454 4.7.1 <meregion69@gmail.com>: Relay access denied; from=<info@MYDOMAIN> to=<meregion69@gmail.com> proto=ESMTP helo=<WIN-6H79TFFJL6O>
Jul 24 17:51:21 SERVER postfix/smtpd[17418]: lost connection after RCPT from unknown[2.57.122.202]
Jul 24 17:51:21 SERVER postfix/smtpd[17418]: disconnect from unknown[2.57.122.202]
В этом случае мой сервер правильно обнаружил, что посторонний пытается ретранслировать через меня (, притворяясь, что он с моего почтового домена ), и отклонил его. Если бы я не настроил свои правила ретрансляции должным образом, это сообщение было бы отправлено.