批处理,怎么将所有csv文件的每一行前加上两列,第一列是加文件名,第二列加目录名称?
比如:有文件夹名称为2016-10-16,里面有10个csv文件名称分别为A1、A2、A3、……A10,批处理之后,A1文件的每一行前增加两列写着:2016-10-16A...
比如:有文件夹名称为2016-10-16,里面有10个csv文件名称分别为A1、A2、A3、……A10,批处理之后,A1文件的每一行前增加两列写着:2016-10-16 A1 。其他文件同理。
不好意思说反了,改为:有文件夹目录名称为2016-10-16,里面有10个csv文件名称分别为A1、A2、A3、……A10,批处理之后,A1文件的每一行前增加两列写着:A1 2016-10-16 。其他文件同理。 展开
不好意思说反了,改为:有文件夹目录名称为2016-10-16,里面有10个csv文件名称分别为A1、A2、A3、……A10,批处理之后,A1文件的每一行前增加两列写着:A1 2016-10-16 。其他文件同理。 展开
1个回答
展开全部
@echo off
rem 在多个csv文件的每一行开头插入自身所在文件夹名称和自身文件名
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for %%a in ("%cd%") do set "fd=%%~nxa"
for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
(for /f "delims=" %%b in ('type "%%a"') do (
echo;%fd%,%%~na,%%b
))>"$%%~na.tmp"
move /y "$%%~na.tmp" "%%a"
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
rem 在多个csv文件的每一行开头插入自身所在文件夹名称和自身文件名
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for %%a in ("%cd%") do set "fd=%%~nxa"
for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
(for /f "delims=" %%b in ('type "%%a"') do (
echo;%fd%,%%~na,%%b
))>"$%%~na.tmp"
move /y "$%%~na.tmp" "%%a"
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
追问
感谢,请帮忙再改改:直接更新原文件,不要生成新文件。
追答
按运行后窗口标题栏中的提示联系我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询