中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 23:52
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 根据文件夹里的文件建对应的文件夹
可打印版本  1,183 / 9
第1楼 bbq123bbq 发表于 2006-12-19 16:48
初级用户 发帖 77 积分 197
根据文件夹里的文件建对应的文件夹
我的电影文件夹里有和多部电影文件,能不能根据电影文件名新建一个相对应的文件夹,可能的话把电影文件复制到相对应的文件夹里???
第2楼 jmz573515 发表于 2006-12-19 20:22
银牌会员 发帖 464 积分 1,212
:将文件保存到以文件名命名的文件夹中。
@echo off
for %%a in (*.*) do mkdir "%%~na"
for %%a in (*.*) do COPY %%a "%%~na" ::如果把COPY改成MOVE就会把文件移动
第3楼 jmz573515 发表于 2006-12-19 20:56
银牌会员 发帖 464 积分 1,212
在发一个用VBS写的。
'目的:把当前文件夹下的所有文件保存到以文件名命名的文件夹里。


on error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(WshShell.CurrentDirectory)
set files=folder.files
for each file in files
if file.name<>wscript.scriptname then
if fso.folderexists(replace(file.name,"." & fso.GetExtensionName(file),"")) then
fso.movefile file, replace(file.name,"." & fso.GetExtensionName(file),"") & "\"
else
fso.createfolder(replace(file.name,"." & fso.GetExtensionName(file),""))
fso.movefile file, replace(file.name,"." & fso.GetExtensionName(file),"") & "\"
end if
else
end if
next
msgbox "已经将所有文件保存到以文件名命名的文件夹中。",48+4096,"操作完成"
第4楼 ccwan 发表于 2006-12-19 21:17
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
兄的vbs做得不错,但2楼的批处理还有问题,不能成功。
第5楼 jmz573515 发表于 2006-12-19 22:07
银牌会员 发帖 464 积分 1,212
还请CCWAN兄指点 :)
第6楼 ccwan 发表于 2006-12-19 22:09
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
你客气了,我是认为可以以namejm版主的批处理代码为原型,修改一下就行了。
等我过了冷却期再给兄加分吧。^_^
第7楼 bbq123bbq 发表于 2006-12-20 07:03
初级用户 发帖 77 积分 197
第一个问题能不能解决??根据电影文件名新建和电影文件名一样的文件夹??
第8楼 bbq123bbq 发表于 2006-12-20 07:06
初级用户 发帖 77 积分 197
还有问问 "%%~na" 是什么意思啊
第9楼 26933062 发表于 2007-01-04 13:59
银牌会员 发帖 879 积分 2,268
::每个文件生成一个同名文件夹,然后把各个文件拷贝到同名文件夹中
for %%i in (*.rmvb) do md "%%~ni" && copy %%i "%%~ni"
exit
第10楼 ocnzhao 发表于 2007-01-08 06:50
新手上路 发帖 10 积分 19
@echo off
set /p um=生成一个文件夹然后拷到夹中,‘确定按回车’:
::如果把COPY改成MOVE就会把文件移动
::每个文件生成一个同名文件夹,然后把各个文件拷贝到同名文件夹中
for %%i in (*.*) do (md "%%~ni"
for %%j in (%%i) do copy %%i "%%~ni"
)
可惜文件名中含空格我不会处理
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023