batとpythonの一括名前変更ファイルの実装コード
3595 ワード
最近あるウェブサイトからいくつかのドキュメントをダウンロードしましたが、ファイルは数字列で命名されたドキュメント(多くの図書館ではそうでしょう)で、今私もこれらのファイルをダウンロードしました.これらのファイルのリストもありますが、一つ一つファイルの名前を変更することはできません.だからネット上でこれらのスクリプトを探しました.
一、batスクリプトの使用(windowsシステムのデフォルトで使用可能)
手帳を開く、これらのコードを手帳に書き込み、xxとして保存する.batファイル(接尾辞名に注意して、多くのシロがxx.bat.txtに保存されています.txtは隠しているので、だめだと思っています)
要求ファイルはd:/pdfフォルダの下に置く、ファイル接尾辞は.pdf、ファイルリストを1に置く.txtの下、txtはマイクロソフトの下のデフォルトのANSIフォーマットに保存すればいいです.内部コンテンツフォーマットは以下のフォーマットです.
ts001003.pdf世界科学技術全景百巻書(3)近代科学技術ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関がもたらした革命ts 001005.pdf世界科学技術全景百巻書(5)現代科学技術
必要なものがあれば適宜修正することができる.
二、pythonスクリプトを使用する(windowsシステムはpython 3.50コンパイルソフトウェアをインストールする必要があり、約30 M、linuxはpythonを3.50にアップグレードする必要があると推定する)
このスクリプトは私が何時間もかけて書いたスクリプトです(長い間プログラミングを習っていますが、スムーズに書いたほうがいいですか、それともうまくいかないですか)メモ帳を開けて、これらのコードをメモ帳に書いて、xxとして保存します.batファイル(接尾辞名に注意して、多くのシロがxx.bat.txtに保存されています.txtは隠しているので、だめだと思っています)
ファイルを通常のフォルダの下に置くことを要求して、ファイルの接尾辞は任意で(接尾辞はtxt内のリストの接尾辞と同じにします)、ファイルのリストは1に置きます.txtの下、txtはマイクロソフトの下のデフォルトのANSIフォーマットまたはUTFにBOMフォーマットがなければよく、内部コンテンツフォーマットは以下のフォーマットである.
ts001003.pdf世界科学技術全景百巻書(3)近代科学技術
ts001004.pdf世界科学技術全景百巻書(4)蒸気機関がもたらした革命
ts001005.pdf世界科学技術全景百巻書(5)現代科学技術
1.txtドキュメントは各ドキュメントの1行を要求して、保存する時必ずANSIあるいはUTFのためにBOMフォーマットがなくて、その他のフォーマットはテストがなくて、
前はリストのドキュメント名に接尾辞(Webサイト上のファイル名、数字の列、アルファベットなど)が含まれていて、空の1つ、それからドキュメントの本名(接尾辞なし)です.
特提供パッケージダウンロード:•txt名前変更リストファイルを読み込む.zip
一、batスクリプトの使用(windowsシステムのデフォルトで使用可能)
手帳を開く、これらのコードを手帳に書き込み、xxとして保存する.batファイル(接尾辞名に注意して、多くのシロがxx.bat.txtに保存されています.txtは隠しているので、だめだと思っています)
@echo off
for /r “d:\pdf” %%a in (*.pdf) do (
for /f “tokens=1,2 delims= ” %%b in (1.txt) do (
if “%%~nxa”==”%%b” ren “%%a” “%%c.pdf”
)
)
要求ファイルはd:/pdfフォルダの下に置く、ファイル接尾辞は.pdf、ファイルリストを1に置く.txtの下、txtはマイクロソフトの下のデフォルトのANSIフォーマットに保存すればいいです.内部コンテンツフォーマットは以下のフォーマットです.
ts001003.pdf世界科学技術全景百巻書(3)近代科学技術ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関がもたらした革命ts 001005.pdf世界科学技術全景百巻書(5)現代科学技術
必要なものがあれば適宜修正することができる.
二、pythonスクリプトを使用する(windowsシステムはpython 3.50コンパイルソフトウェアをインストールする必要があり、約30 M、linuxはpythonを3.50にアップグレードする必要があると推定する)
このスクリプトは私が何時間もかけて書いたスクリプトです(長い間プログラミングを習っていますが、スムーズに書いたほうがいいですか、それともうまくいかないですか)メモ帳を開けて、これらのコードをメモ帳に書いて、xxとして保存します.batファイル(接尾辞名に注意して、多くのシロがxx.bat.txtに保存されています.txtは隠しているので、だめだと思っています)
#!/bin/env python
# -*- coding: utf-8 -*-
""" , ( ),
,
"""
__author__ = 'rublog'
import os
#1.txt , ANSI , ( ,
# ), , ( )
#get_list 1.txt , , doc_rename
#
def get_list():
#
#https://www.zhihu.com/question/30070752/answer/46684320
decode_list=["utf-8",'gb18030', 'ISO-8859-2','gb2312',"gbk","Error" ]#
#GBK GB18030 , , GB18030。
for k in decode_list:#
try:
book_list = open('1.txt', encoding=k)
#
line = book_list.readline()
while line:
if os.name == 'nt':
line = line.strip('\r
')
else:
line = line.strip('
')
doc_rename(line)
line = book_list.readline()
break#
except:
if k == "Error":#
print("had no way to decode")
raise Exception("%s had no way to decode"%directions)
continue
# ,
def doc_rename(book_list_line):
try:
name_list = book_list_line.split(' ')
list_name = name_list[0]
cool_list = list_name.split('.')
ext = cool_list[-1]
current_folder = os.getcwd()
real_name = name_list[1]
real_name = os.path.join(current_folder, real_name)
real_name_ext = real_name+'.'+ext
os.rename(os.path.join(current_folder, list_name), real_name_ext)
print('success')
except:
pass
return 0
#
if __name__ == '__main__':
get_list()
ファイルを通常のフォルダの下に置くことを要求して、ファイルの接尾辞は任意で(接尾辞はtxt内のリストの接尾辞と同じにします)、ファイルのリストは1に置きます.txtの下、txtはマイクロソフトの下のデフォルトのANSIフォーマットまたはUTFにBOMフォーマットがなければよく、内部コンテンツフォーマットは以下のフォーマットである.
ts001003.pdf世界科学技術全景百巻書(3)近代科学技術
ts001004.pdf世界科学技術全景百巻書(4)蒸気機関がもたらした革命
ts001005.pdf世界科学技術全景百巻書(5)現代科学技術
1.txtドキュメントは各ドキュメントの1行を要求して、保存する時必ずANSIあるいはUTFのためにBOMフォーマットがなくて、その他のフォーマットはテストがなくて、
前はリストのドキュメント名に接尾辞(Webサイト上のファイル名、数字の列、アルファベットなど)が含まれていて、空の1つ、それからドキュメントの本名(接尾辞なし)です.
特提供パッケージダウンロード:•txt名前変更リストファイルを読み込む.zip