找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24243|回复: 8

[文本处理] [已解决]批处理如何删除文件夹内包括子文件夹下所有文本中这些字符

[复制链接]
发表于 2021-3-12 00:01:17 | 显示全部楼层 |阅读模式
本帖最后由 DDDYJQ1 于 2021-3-12 20:52 编辑

网上下载下来的文件中经常含有
“
”
‘
’
 
·
…
<

&#57003 ;
&#xe98d ;
&#xea6b ;
&#55365 ;
&#56452 ;
&#55405 ;
&#56326 ;
&#56817 ;
&#xef14 ;
&#55378 ;
&#56938 ;
&#56471 ;
&#xe58e ;
&#xe236 ;
&#xe20a ;
&#56879 ;(注分号前没有空格,故意加上去的,要不然是乱码)
这类字符,如何批量删除?也就是说批量删除&与;之间所有字符先谢了
发表于 2021-3-12 14:41:50 | 显示全部楼层
可以传个样本文件做测试用!
这些HTML entity reference最好保留吧,否则会丢失字符,内容缺失了.解码后例如:




  1.  
  2. ·

  3. <
复制代码
发表于 2021-3-12 19:34:31 | 显示全部楼层
cd跳转目录
  1. for /f "delims=" %i in ('dir /b /s /a-d *.txt') do sed -i "s/^&[^&]*;//g"  %i
复制代码
或注册表备用,保存reg,鼠标右键在目录打开
  1. Windows Registry Editor Version 5.00


  2. [HKEY_CLASSES_ROOT\Directory\Background\shell\打开CMD]
  3. "ShowBasedOnVelocityId"=dword:00639bc8

  4. [HKEY_CLASSES_ROOT\Directory\Background\shell\打开CMD\command]
  5. @="cmd.exe /s /k pushd "%V""

  6. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\Shell\打开CMD]
  7. "ShowBasedOnVelocityId"=dword:00639bc8

  8. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\Shell\打开CMD\command]
  9. @="cmd.exe /s /k pushd "%V""
复制代码
 楼主| 发表于 2021-3-12 19:45:29 | 显示全部楼层
请问楼上的要怎么用?
 楼主| 发表于 2021-3-12 19:58:41 | 显示全部楼层
第一个版本是陈寿写在《三国志&bull;姜维传》里面的:
&#39;&#39;时天水太守适出案行,维及功曹梁绪、主簿尹赏、主记梁虔等从行。太守闻蜀军垂至,而诸县响应,疑维等皆有异心,于是夜亡保上邽。维等觉太守去,追迟,至城门,城门已闭,不纳。维等相率还冀,冀亦不入维。维等乃俱诣诸葛亮。维等相率还冀,冀亦不入维。维等乃俱诣诸葛亮。会马谡败于街亭,亮拔将西县千馀家及维等还,故维遂与母相失。&#39;&#39;
发表于 2021-3-12 20:00:46 | 显示全部楼层
需要sed工具,论坛上面在线第三方下载搜索sed下载,放入C:\Windows\System32目录或要处理的目录
或下面的直接保存bat
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  3.          sed -i "s/^&[^&]*;//g"  %%i
  4. )
  5. pause
复制代码
 楼主| 发表于 2021-3-12 20:09:51 | 显示全部楼层
看不到效果
发表于 2021-3-12 20:40:07 | 显示全部楼层
呃~不通用,用这个看看
  1. //&cls&dir /b /s /a-d *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit

  2. function reStr(file){
  3.     var f = fso.opentextfile(file, 1);
  4.     str = f.ReadAll().replace(/&[^&]+;/g, '');
  5.     f.Close();
  6.     var f = fso.opentextfile(file, 2);
  7.     f.Write(str);
  8. }
  9. var fso = new ActiveXObject('Scripting.FileSystemObject');
  10. while(!WScript.StdIn.AtEndOfStream)reStr(WScript.StdIn.ReadLine());
复制代码
 楼主| 发表于 2021-3-12 20:51:52 | 显示全部楼层
谢谢,太好用了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 11:19 , Processed in 0.010944 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表