ces777 发表于 2011-3-14 17:20

如何批量以现有文件名分别创建文件夹并移入对应文件?

比如同一文件夹内有文件111.exe和aaa.rar,怎样批量创建子文件夹111和aaa并将111.exe和aaa.rar分别移动至文件夹111和aaa内?

01046 发表于 2011-3-14 17:47

笨方法到是有一个,只要有winrar就行
1、全选,右键,“添加到压缩文件”,压缩方式“储存”
2、选择“文件”标签,勾上“把每个文件放到单独的文件夹中”,然后开始打包
3、然后解压的时候选择“解压每个压缩文件到单独的文件夹”
完成。
过程中可以添加一步,就是勾选“压缩后删除源文件”

f3uki 发表于 2011-3-14 18:48

这样可以么?


import os
dir = 'C:\\\\foo\\\\bar'
for i in os.listdir(dir):
    name = '.'.join(i.split('.'))
    os.mkdir(os.path.join(dir,name))
    os.rename(os.path.join(dir,i), os.path.join(dir,name,i))

ces777 发表于 2011-3-17 12:14

用RAR的话,时间长不说,还需要很大的备份空间,而我有大约1T左右的文件需要处理,没有这么多空间了
2L的代码没看明白,这是什么语言的?我直接TXT改BAT试了没反应

cxn 发表于 2011-3-17 14:00

按键精灵吧……

赤色彗星SE 发表于 2011-3-17 14:02

2楼是python- -

2楼的写法没办法处理点开头的文件-v-

黛玛 发表于 2011-3-17 14:39

CMD进入文件夹后输入:

FOR /F %i IN ('DIR /A-D /B *') DO MKDIR %~ni & MOVE %i %~ni

ces777 发表于 2011-3-17 17:46

引用第6楼黛玛于2011-03-17 14:39发表的:
CMD进入文件夹后输入:

FOR /F %i IN ('DIR /A-D /B *') DO MKDIR %~ni & MOVE %i %~ni
images/back.gif

这个遇到文件名中有空格的就不行了,除了批量把空格替换掉之外还有其他方法吗?

chickwood 发表于 2011-3-17 18:11

引用第7楼ces777于2011-03-17 17:46发表的:

这个遇到文件名中有空格的就不行了,除了批量把空格替换掉之外还有其他方法吗? images/back.gif

把后面的%i和%~ni变量用引号引起来...
前段时间写过一个7z批压缩的,跟这类似,空格或特殊字符靠引号,妥妥的。

ces777 发表于 2011-3-17 20:49

引用第8楼chickwood于2011-03-17 18:11发表的:

把后面的%i和%~ni变量用引号引起来...
前段时间写过一个7z批压缩的,跟这类似,空格或特殊字符靠引号,妥妥的。 images/back.gif

试了几次,似乎没作用,到底应该引哪几个?

黛玛 发表于 2011-3-17 21:06

FOR /F "delims=/" %i IN ('DIR /A-D /B') DO MKDIR "%~ni" & MOVE "%i" "%~ni"
文件名空格神马的最讨厌了

ces777 发表于 2011-3-18 13:43

非常好用,感谢!

01046 发表于 2011-3-22 16:35

非常好用!
感谢!
页: [1]
查看完整版本: 如何批量以现有文件名分别创建文件夹并移入对应文件?