找回密码
 立即注册
搜索
查看: 8568|回复: 12

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

[复制链接]
     
发表于 2011-3-14 17:20 | 显示全部楼层 |阅读模式
比如同一文件夹内有文件111.exe和aaa.rar,怎样批量创建子文件夹111和aaa并将111.exe和aaa.rar分别移动至文件夹111和aaa内?
回复

使用道具 举报

     
发表于 2011-3-14 17:47 | 显示全部楼层
笨方法到是有一个,只要有winrar就行
1、全选,右键,“添加到压缩文件”,压缩方式“储存”
2、选择“文件”标签,勾上“把每个文件放到单独的文件夹中”,然后开始打包
3、然后解压的时候选择“解压每个压缩文件到单独的文件夹”
完成。
过程中可以添加一步,就是勾选“压缩后删除源文件”
回复

使用道具 举报

     
发表于 2011-3-14 18:48 | 显示全部楼层
这样可以么?
  1. import os
  2. dir = 'C:\\\\foo\\\\bar'
  3. for i in os.listdir(dir):
  4.     name = '.'.join(i.split('.')[0:-1])
  5.     os.mkdir(os.path.join(dir,name))
  6.     os.rename(os.path.join(dir,i), os.path.join(dir,name,i))
复制代码
回复

使用道具 举报

     
 楼主| 发表于 2011-3-17 12:14 | 显示全部楼层
用RAR的话,时间长不说,还需要很大的备份空间,而我有大约1T左右的文件需要处理,没有这么多空间了
2L的代码没看明白,这是什么语言的?我直接TXT改BAT试了没反应
回复

使用道具 举报

     
发表于 2011-3-17 14:00 | 显示全部楼层
按键精灵吧……
回复

使用道具 举报

     
发表于 2011-3-17 14:02 | 显示全部楼层
2楼是python- -

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

使用道具 举报

发表于 2011-3-17 14:39 | 显示全部楼层
CMD进入文件夹后输入:
  1. FOR /F %i IN ('DIR /A-D /B *') DO MKDIR %~ni & MOVE %i %~ni
复制代码
回复

使用道具 举报

     
 楼主| 发表于 2011-3-17 17:46 | 显示全部楼层
引用第6楼黛玛于2011-03-17 14:39发表的  :
CMD进入文件夹后输入:
  1. FOR /F %i IN ('DIR /A-D /B *') DO MKDIR %~ni & MOVE %i %~ni
复制代码
这个遇到文件名中有空格的就不行了,除了批量把空格替换掉之外还有其他方法吗?
回复

使用道具 举报

发表于 2011-3-17 18:11 | 显示全部楼层
引用第7楼ces777于2011-03-17 17:46发表的  :

这个遇到文件名中有空格的就不行了,除了批量把空格替换掉之外还有其他方法吗?
把后面的%i和%~ni变量用引号引起来...
前段时间写过一个7z批压缩的,跟这类似,空格或特殊字符靠引号,妥妥的。
回复

使用道具 举报

     
 楼主| 发表于 2011-3-17 20:49 | 显示全部楼层
引用第8楼chickwood于2011-03-17 18:11发表的  :

把后面的%i和%~ni变量用引号引起来...
前段时间写过一个7z批压缩的,跟这类似,空格或特殊字符靠引号,妥妥的。
试了几次,似乎没作用,到底应该引哪几个?
回复

使用道具 举报

发表于 2011-3-17 21:06 | 显示全部楼层
  1. FOR /F "delims=/" %i IN ('DIR /A-D /B') DO MKDIR "%~ni" & MOVE "%i" "%~ni"
复制代码
文件名空格神马的最讨厌了
回复

使用道具 举报

     
 楼主| 发表于 2011-3-18 13:43 | 显示全部楼层
非常好用,感谢!
回复

使用道具 举报

     
发表于 2011-3-22 16:35 | 显示全部楼层
非常好用!
感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-9-16 23:56 , Processed in 0.113731 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表