Board logo

标题: [求助]把文本的文件名复制到文本的第一行作为标题 [打印本页]

作者: w1314ich     时间: 2010-3-6 12:47    标题: [求助]把文本的文件名复制到文本的第一行作为标题

如何使用批处理把文本的文件名复制到文本的第一行作为标题
作者: 000000000000000     时间: 2010-3-6 13:32

@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 ]
作者: w1314ich     时间: 2010-3-6 20:09
非常感谢 但是这样不能批量处理文件 要一个一个拖上去 请问有什么其他方法吗
作者: 000000000000000     时间: 2010-3-6 21:24

@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