[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]文本批量刪行、替换及改扩展名的批处理

你好,各位地球上難得的熱心朋友

請問我有大量的文本,想進行三項的處理:

1:刪除每個文本的第一行

2:把每個<>的字符替換

3:把每個文本的擴展名改成.txt

請問該如何作到呢,十分感謝

[ 本帖最后由 leo1984 于 2009-10-24 11:50 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

有特殊字符建议用SED,最后一个问题没看懂,是删除文件名只保留扩展名?

  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b *.txt') do (
  3. sed "1d; s/<>/\/\//g" "%%~i" > "%%~xi"
  4. )
  5. exit
复制代码

TOP

原帖由 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的扩展名

非常感謝你

謝謝!

TOP

>你好,各位地球上難得的熱心朋友
===================================
楼主难道不是地球上的?
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

原帖由 zqz0012005 于 2009-10-24 08:41 发表
>你好,各位地球上難得的熱心朋友
===================================
楼主难道不是地球上的?


這是個好問題

我是住地球下的

反正地球在宇宙中沒分上下@@

但是如果你要分地球表面或內部...

那又是一回事了....

TOP

一看到你的问题就知道比较麻烦,果不其然。问题表述清楚真的很难吗?

  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b *.cgi') do (
  3. sed "1d; s/<>/\/\//g" "%%~i" > "%%~dpni.txt"
  4. )
  5. exit
复制代码

TOP

原帖由 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文本

而我的那些文本完全沒有更改

請問是@@?

謝謝

TOP

原帖由 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

很抱歉,有些用語兩岸不同

我試著學習

台灣: 檔名   
中國:文件名

台灣:副檔名
中國:擴展名

台灣:文字檔
中國:文本

台灣:字元
中國:字符

TOP

回复 8楼 的帖子

还忘了提醒楼主,您楼上的帖子里还有些词语表述不清:

台湾应为中国台湾
中国应为中国大陆

TOP

回复 8楼 的帖子

很抱歉,本机测试并未出现你说的问题,请自行检查你的输入。

另本机SED版本为:4.2。下载:
http://gnuwin32.sourceforge.net/packages/sed.htm

TOP

原帖由 youxi01 于 2009-10-24 09:06 发表
还忘了提醒楼主,您楼上的帖子里还有些词语表述不清:

台湾应为中国台湾
中国应为中国大陆


這您倒是分的很清楚啊@@

TOP

原帖由 asnahu 于 2009-10-24 10:40 发表
很抱歉,本机测试并未出现你说的问题,请自行检查你的输入。

另本机SED版本为:4.2。下载:
http://gnuwin32.sourceforge.net/packages/sed.htm


我將您的代碼改成如下
  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b *.cgi') do (
  3.         sed "1d; s/<>/∥/g" "%%~i" > "%%~dpni.txt"
  4. )
  5. exit
复制代码
會不會是因為改成這個∥分隔符的原因呢@@

謝謝

4.2版本我有下載了

還是一樣><

TOP

回复 12楼 的帖子

应该对 / 进行转义,否则命令错误,所以你的更改是不正确的。另可以参考一下SED Manual以获得相关支持。

TOP

剛反覆開機測試,已經沒問題了

可能剛才我電腦出問題

造成你的困擾非常抱歉

感謝asnahu幫忙

TOP

返回列表