|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
『楼 主』:
如何在批量文件的里面第一个字符处加入指定内容?
各位大哥小弟有一事相求!
如何在批量文件的里面第一个字符处添加入指字内容?
请指教.多谢!
在线等 !
[ Last edited by zhengruijian on 2008-5-31 at 08:56 AM ]
|
|
2008-5-30 21:34 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-30 22:01 |
|
|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
『第
3 楼』:
小弟刚来.搜了一下没搜到哦??
请大侠帮帮忙啊!
多谢谢.!!
|
|
2008-5-30 22:13 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by zhengruijian at 2008-5-30 22:13:
小弟刚来.搜了一下没搜到哦??
请大侠帮帮忙啊!
多谢谢.!! |
|
肯定没有搜索,要是真搜索了,可以找到不下20个帖子,都可以解决你的问题。
|
|
2008-5-30 22:29 |
|
|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
『第
5 楼』:
说两句.
搜索命令竟然要加入" OR "!如果搜索名过长就搜不到,而已OR还不能小写,一定要大写的.是不是BUG啊?
小弟刚刚入行哦.
我搞了个通宵,搞了 下面一个程序,现在不敢运行啊.怕我我东东全搞坏了.
大侠看看行不行啊?
我搞的下面的这个程序用处是把"C:\Documents and Settings\Administrator\桌面\222" 里面的所有 *.TXT文件的第一行前面加上"[00:00.00]".
@echo off&setlocal enabledelayedexpansion
for /r C:\Documents and Settings\Administrator\桌面\222 "delims=" %%i in ('type *.txt') do (
set /a n+=1
if !n! equ 1 (
echo %%i>*.txt
) else (
if !n! equ 1 (
echo [00:00.00]>>*.txt&echo %%i>>*.txt
) else (
echo %%i>>*.txt
)
)
)
echo 全部ok!
大侠看看行不行啊?
|
|
2008-5-31 07:06 |
|
|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
|
2008-5-31 07:34 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
7 楼』:
肯定不行了。
1、带有空格的路径没有加引号,会报错;
2、for /r 的 in ()里面只能是类型说明符,而不是一个命令;
3、“> *.txt” 这样是写不进文件的。
|
|
2008-5-31 09:34 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
8 楼』:
真佩服楼主的精神:
&&一个通霄!楼主精神可嘉,为了楼主这种精神,我再来解答一次吧:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s /a-d /b c:\docume~1\admini~1\桌面\222\*.txt') do (
for /f "delims=" %%i in ('type "%%a"') do (
if not defined flag (
echo [00:00.00] %%i>"%%a"&set "flag=A"
) else (
echo %%i>>"%%a"
)
)
set "flag="
)
echo 全部ok!
pause>nul ps:看情形楼主是要在文件里加入时间吧,那就把[00:00.00]改成%time%就可以了。
[ Last edited by zw19750516 on 2008-5-31 at 12:15 PM ]
|
批处理之家新域名:www.bathome.net |
|
2008-5-31 11:29 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
9 楼』:
如有子文件夹并不想处理子文件中的文件:
@echo off&setlocal enabledelayedexpansion
cd\&cd /d c:\docume~1\admini~1\桌面\222
for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
for /f "delims=" %%i in ('type "%%a"') do (
if not defined flag (
echo [00:00.00] %%i>"%%a"&set "flag=A"
) else (
echo %%i>>"%%a"
)
)
set "flag="
)
echo 全部ok!
pause>nul 或
@echo off&setlocal enabledelayedexpansion
for %%a in (c:\docume~1\admini~1\桌面\222\*.txt) do (
for /f "delims=" %%i in ('type "%%a"') do (
if not defined flag (
echo [00:00.00] %%i>"%%a"&set "flag=A"
) else (
echo %%i>>"%%a"
)
)
set "flag="
)
echo 全部ok!
pause>nul
|
批处理之家新域名:www.bathome.net |
|
2008-5-31 12:24 |
|
|
WANKOILZ
初级用户
积分 198
发帖 89
注册 2007-9-6 来自 重庆
状态 离线
|
『第
10 楼』:
我也来个用type的:
@echo off
for /r "C:\Documents and Settings\Administrator\桌面\222" %%i in (*.txt) do (
set "name=%%~nxi"
echo [00:00.00]>tmp.txt&type "%%i">>tmp.txt
del "%%i"&call rename tmp.txt "%%name%%"
)
|
|
2008-5-31 12:36 |
|
|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by zw19750516 at 2008-5-31 11:29:
&&一个通霄!楼主精神可嘉,为了楼主这种精神,我再来解答一次吧:
[code]
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s ... |
|
如果想在最后一行前面加入,这个程序怎么改啊??
|
|
2008-5-31 18:18 |
|
|
zhengruijian
初级用户
积分 54
发帖 24
注册 2008-5-30
状态 离线
|
『第
12 楼』:
另外问一下.文本中每个行/每个字符的位置,都有什么表示方法啊?
|
|
2008-5-31 18:21 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by zhengruijian at 2008-5-31 18:18:
如果想在最后一行前面加入,这个程序怎么改啊?? |
|
@echo off&setlocal enabledelayedexpansion
for %%a in (c:\docume~1\admini~1\桌面\222\*.txt) do (
for /f "delims=" %%i in ('type "%%a"') do (
set /a n+=1&set _!n!=%%i
)
for %%i in (1,1,!n!) do (
if %%i equ 1 do (
echo !_%%i!>"%%a"
) else (
if %%i equ !n! (
echo [00:00.00] !_%%i!>>"%%a"
) else (
echo !_%%i!>>"%%a"
)
)
)
set n=0
)
echo 全部ok!
pause>nul
|
批处理之家新域名:www.bathome.net |
|
2008-6-1 00:30 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
14 楼』:
Quote: | Originally posted by zhengruijian at 2008-5-31 18:21:
另外问一下.文本中每个行/每个字符的位置,都有什么表示方法啊? |
|
运行以下代码你就会明白了:
@echo off&setlocal enabledelayedexpansion
if exist a.txt del /q a.txt
for /l %%i in (1,1,50) do echo %%i.www.cn-dos.net.zw19750516>>a.txt
for /f "delims=" %%i in (a.txt) do (
set /a n+=1&set _!n!=%%i&set str=%%i&call :lp
)
set /p select1=请输入你想显示第几行(1-%n%):
cls&echo 你要显示的行为:!_%select1%!
pause
cls&set /p select2=请输入你想显示第几行第几个字符(格式为2.12):
for /f "tokens=1,2 delims=." %%i in ("%select2%") do set a=%%i&set b=%%j
cls&echo 你要显示的字符为:!_%a%_%b%!
pause&del /q a.txt
goto :eof
:lp
set /a m+=1
set _%n%_%m%=%str:~,1%&set str=%str:~1%
if defined str goto lp
set m=0 [ Last edited by zw19750516 on 2008-6-1 at 01:09 AM ]
|
批处理之家新域名:www.bathome.net |
|
2008-6-1 00:54 |
|