我有一个类似的问题:我想批量重命名文件,如:
c:>/folder/path_a/to/my_first_file.txt
c:>/folder/path_b/to/my_2_nd_file.txt
c:>/folder/path_c/to/my_bla_bla.txt
c:>/folder/path_d/to/pippo.txt
c:>/folder/path_d/to/pluto.txt
c:>/folder/path_d/to/my_bla_bla.txt
我会将它们重命名为:
c:>/folder/path_a-to_my_first_file.txt
c:>/folder/path_b-to-my_2_nd_file.txt
c:>/folder/path_c-to-my_bla_bla.txt
c:>/folder/path_d-to-pippo.txt
c:>/folder/path_d-to-pluto.txt
c:>/folder/path_d-to-my_bla_bla.txt
文件名路径的“嵌入”部分
有人能帮我吗(我在用Windows)?
建立
this
但我不知道如何告诉PS“只抓取子目录名”
编辑:
在python上,我会这样做(如果代码不起作用,很抱歉,但在这里我没有python):
for dirname, _, fnames in os.walk('.'):
first=dirname.replace('\','-')
for fname in fnames:
name="{}-{}".format(first,fname)
os.rename("{}\{}".format(dirname,fname),"{}"name)
for for dirname,_,fname in os.walk('.'):
os.remove(dirname)
=============更新===================
from os import rename, walk, chdir
EXT = '.c'
PATH = 'folder'
chdir(PATH)
for cart, _, files in walk("."):
for i in files:
if os.path.isfile("{}/{}".format(cart,i)):
if EXT in i:
nn = i.replace(EXT,'') #removes inner extension
rename('{}/{}'.format(cart,i),'{}-{}'.format(cart,nn)) #changes the path