batとpythonの一括リネームファイルの実現コード
最近あるウェブサイトからいくつかの文書をダウンロードしましたが、ファイルは数字列で命名された文書です。今はこれらのファイルをダウンロードしました。これらのファイルのリストもあります。一つ一つのファイルを名前を変えてはいけないです。だからネットでこのいくつかのシナリオを探しました。
一、batスクリプトを使う(windowsシステムはデフォルトで使えます)
メモ帳を開けて、これらのコードをメモ帳に書き込んで、××.batファイルとして保存します。多くの白はxt.bat.txtとして保存しています。txtは隠していますので、だめだと思います。
ts 000000003.pdf世界科学技術パノラマ百巻書(3)近代科学技術
ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関による革命
ts 005.pdf世界科学技術パノラマ百巻書(5)現代科学技術
必要なものがあれば、適当に修正してもいいです。
二、pythonスクリプトを使用する(windowsシステムはpython 3.5コンパイルソフトをインストールする必要があります。約30 M、linuxはpythonから3.5までアップグレードする必要があります。)
この脚本は何時間もかけて書いた台本です。
メモ帳を開けて、これらのコードをメモ帳に書き込んで、××.batファイルとして保存します。多くの白はxt.bat.txtとして保存しています。txtは隠していますので、だめだと思います。
ts 000000003.pdf世界科学技術パノラマ百巻書(3)近代科学技術
ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関による革命
ts 005.pdf世界科学技術パノラマ百巻書(5)現代科学技術
1.txt文書は各文書の一行を要求します。保存する時はANSIまたはUTFのためにBOM形式がなく、その他のフォーマットは大丈夫です。
前のリストのドキュメント名には、拡張子が含まれています。
皆さんのために特別パッケージを使用してダウンロードします。
•txtを読んでリストファイルの名前を変更します。zip
一、batスクリプトを使う(windowsシステムはデフォルトで使えます)
メモ帳を開けて、これらのコードをメモ帳に書き込んで、××.batファイルとして保存します。多くの白はxt.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フォーマットとして保存すればいいです。内部の内容フォーマットは以下のフォーマットです。ts 000000003.pdf世界科学技術パノラマ百巻書(3)近代科学技術
ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関による革命
ts 005.pdf世界科学技術パノラマ百巻書(5)現代科学技術
必要なものがあれば、適当に修正してもいいです。
二、pythonスクリプトを使用する(windowsシステムはpython 3.5コンパイルソフトをインストールする必要があります。約30 M、linuxはpythonから3.5までアップグレードする必要があります。)
この脚本は何時間もかけて書いた台本です。
メモ帳を開けて、これらのコードをメモ帳に書き込んで、××.batファイルとして保存します。多くの白はxt.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フォーマットがないといいです。内部の内容フォーマットは以下のフォーマットです。ts 000000003.pdf世界科学技術パノラマ百巻書(3)近代科学技術
ts 001004.pdf世界科学技術全景百巻書(4)蒸気機関による革命
ts 005.pdf世界科学技術パノラマ百巻書(5)現代科学技術
1.txt文書は各文書の一行を要求します。保存する時はANSIまたはUTFのためにBOM形式がなく、その他のフォーマットは大丈夫です。
前のリストのドキュメント名には、拡張子が含まれています。
皆さんのために特別パッケージを使用してダウンロードします。
•txtを読んでリストファイルの名前を変更します。zip