标题: [文本处理] [已解决]文本批量刪行、替换及改扩展名的批处理 [打印本页]
作者: leo1984 时间: 2009-10-24 07:23 标题: [已解决]文本批量刪行、替换及改扩展名的批处理
你好,各位地球上難得的熱心朋友
請問我有大量的文本,想進行三項的處理:
1:刪除每個文本的第一行
2:把每個<>的字符替換為∥
3:把每個文本的擴展名改成.txt
請問該如何作到呢,十分感謝
[ 本帖最后由 leo1984 于 2009-10-24 11:50 编辑 ]
作者: asnahu 时间: 2009-10-24 08:35
有特殊字符建议用SED,最后一个问题没看懂,是删除文件名只保留扩展名?
- @echo off
- for /f "delims=" %%i in ('dir /s/b *.txt') do (
- sed "1d; s/<>/\/\//g" "%%~i" > "%%~xi"
- )
- exit
复制代码
作者: leo1984 时间: 2009-10-24 08:41
原帖由 asnahu 于 2009-10-24 08:35 发表
有特殊字符建议用SED,最后一个问题没看懂,是删除文件名只保留扩展名?
@echo off
for /f "delims=" %%i in ('dir /s/b *.txt') do (
sed "1d; s//\/\//g" "%%~i" > "%%~xi"
)
exit
扩展名是什麼@@
應該就是這個沒錯
我要把.cgi改成.txt的扩展名
非常感謝你
謝謝!
作者: zqz0012005 时间: 2009-10-24 08:41
>你好,各位地球上難得的熱心朋友
===================================
楼主难道不是地球上的?
作者: leo1984 时间: 2009-10-24 08:43
原帖由 zqz0012005 于 2009-10-24 08:41 发表
>你好,各位地球上難得的熱心朋友
===================================
楼主难道不是地球上的?
這是個好問題
我是住地球下的
反正地球在宇宙中沒分上下@@
但是如果你要分地球表面或內部...
那又是一回事了....
作者: asnahu 时间: 2009-10-24 08:54
一看到你的问题就知道比较麻烦,果不其然。问题表述清楚真的很难吗?
- @echo off
- for /f "delims=" %%i in ('dir /s/b *.cgi') do (
- sed "1d; s/<>/\/\//g" "%%~i" > "%%~dpni.txt"
- )
- exit
复制代码
作者: leo1984 时间: 2009-10-24 08:57
原帖由 asnahu 于 2009-10-24 08:35 发表
有特殊字符建议用SED,最后一个问题没看懂,是删除文件名只保留扩展名?
@echo off
for /f "delims=" %%i in ('dir /s/b *.txt') do (
sed "1d; s//\/\//g" "%%~i" > "%%~xi"
)
exit
我剛試了一下~~您的代碼生成了一個叫.txt文本
而我的那些文本完全沒有更改
請問是@@?
謝謝
作者: leo1984 时间: 2009-10-24 09:02
原帖由 asnahu 于 2009-10-24 08:35 发表
有特殊字符建议用SED,最后一个问题没看懂,是删除文件名只保留扩展名?
@echo off
for /f "delims=" %%i in ('dir /s/b *.txt') do (
sed "1d; s//\/\//g" "%%~i" > "%%~xi"
)
exit
試過您的代碼成功了
但是為何每個文本的第一行都留下這段文字呢@@?
Invalid keyboard code specified
很抱歉,有些用語兩岸不同
我試著學習
台灣: 檔名
中國:文件名
台灣:副檔名
中國:擴展名
台灣:文字檔
中國:文本
台灣:字元
中國:字符
作者: youxi01 时间: 2009-10-24 09:06 标题: 回复 8楼 的帖子
还忘了提醒楼主,您楼上的帖子里还有些词语表述不清:
台湾应为中国台湾
中国应为中国大陆
作者: asnahu 时间: 2009-10-24 10:40 标题: 回复 8楼 的帖子
很抱歉,本机测试并未出现你说的问题,请自行检查你的输入。
另本机SED版本为:4.2。下载:
http://gnuwin32.sourceforge.net/packages/sed.htm
作者: leo1984 时间: 2009-10-24 10:51
原帖由 youxi01 于 2009-10-24 09:06 发表
还忘了提醒楼主,您楼上的帖子里还有些词语表述不清:
台湾应为中国台湾
中国应为中国大陆
這您倒是分的很清楚啊@@
作者: leo1984 时间: 2009-10-24 10:53
我將您的代碼改成如下-
- @echo off
- for /f "delims=" %%i in ('dir /s/b *.cgi') do (
- sed "1d; s/<>/∥/g" "%%~i" > "%%~dpni.txt"
- )
- exit
复制代码
會不會是因為改成這個∥分隔符的原因呢@@
謝謝
4.2版本我有下載了
還是一樣><
作者: asnahu 时间: 2009-10-24 11:29 标题: 回复 12楼 的帖子
应该对 / 进行转义,否则命令错误,所以你的更改是不正确的。另可以参考一下SED Manual以获得相关支持。
作者: leo1984 时间: 2009-10-24 11:39
剛反覆開機測試,已經沒問題了
可能剛才我電腦出問題
造成你的困擾非常抱歉
感謝asnahu幫忙
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |