中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]把文本的文件名复制到文本的第一行作为标题
作者:
标题: [求助]把文本的文件名复制到文本的第一行作为标题 上一主题 | 下一主题
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『楼 主』:  [求助]把文本的文件名复制到文本的第一行作为标题

如何使用批处理把文本的文件名复制到文本的第一行作为标题



word
2010-3-6 12:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
000000000000000
初级用户





积分 49
发帖 42
注册 2009-11-26
状态 离线
『第 2 楼』:  


@echo off
if "%~1"=="" exit /b
echo 是否添加文字“%~nx1”到该文件的第一行?
pause
(echo;%~nx1&type %1)>_.temp
move _.temp %1
将文件拖到批处理图标上

[ Last edited by 000000000000000 on 2010-3-6 at 16:13 ]

2010-3-6 13:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 3 楼』:  

非常感谢 但是这样不能批量处理文件 要一个一个拖上去 请问有什么其他方法吗



word
2010-3-6 20:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
000000000000000
初级用户





积分 49
发帖 42
注册 2009-11-26
状态 离线
『第 4 楼』:  


@echo off
:: 功能: 在文本第一行加上该文件名

:: 使用方法:
::     a. 直接运行, 将处理默认文件夹
::     b. 将(多个)文件(夹)拖到批处理图标上, 则处理拖入的文件(夹)

:: 默认文件夹路径. "%~dp0" 表示批处理所在路径.
set f="%~dp0"

:: 要处理的文件后缀. 用空格分开(如 *.txt *.log). 处理所有文件用 *
set ext=*.txt

echo 将添加文件名到文本第一行
pause

if "%~1" neq "" set f=%*
for %%a in (%f%) do (
    if exist %%a\ (
        cd /d %%a
        for %%a in (%ext%) do (
            (echo;%%~nxa&type "%%a")>.temp
            move .temp "%%a"
        )
    ) else (
        (echo;%%~nxa&type %%a)>.temp
        move .temp %%a
    )
)

echo 添加完成! 按任意键退出...
pause>nul


2010-3-6 21:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: