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

[文本处理] 批处理如何在不改变原文本编码格式的情况下对文本进行修改?

[复制链接]
发表于 2014-7-9 13:17:52 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-17 10:41 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 以下一行等号右边换成你的目标文件夹。
  4. set docu=H:\login
  5. chcp %utf8%
  6. for /f "delims=" %%a in ('dir /s /b "%docu%\*.jsp"') do (
  7. for /f "usebackq delims=" %%b in ("%%a") do (
  8.   set var=%%b
  9.   echo !var:.js"=.jsgz"! >>"%temp%\temp.jsp"
  10. )
  11. move /y "%temp%\temp.jsp" "%%a"
  12. )
  13. pause
复制代码
 楼主| 发表于 2014-7-9 13:18:38 | 显示全部楼层
沙发自己拿。。。。大家帮帮忙哈!!!顶
 楼主| 发表于 2014-7-9 13:23:51 | 显示全部楼层
板凳自己拿  大神呢
发表于 2014-7-9 13:28:21 | 显示全部楼层
bat文件是什么编码格式?
jsp文件是什么编码格式?
发表于 2014-7-9 13:29:42 | 显示全部楼层
%utf8% 这个变量是在什么地方定义的?
chcp %utf8% 这样操作的目的是什么?
 楼主| 发表于 2014-7-9 13:58:43 | 显示全部楼层
@echo off
setlocal enabledelayedexpansion
rem 以下一行等号右边换成你的目标文件夹。
set docu=H:\login

for /f "delims=" %%a in ('dir /s /b "%docu%\*.jsp"') do (
for /f "usebackq delims=" %%b in ("%%a") do (
  set var=%%b
  echo !var:.js"=.jsgz"! >>"%temp%\temp.jsp"
)
move /y "%temp%\temp.jsp" "%%a"
)
pause

是这个,没有chcp %utf8%这一段
jsp文件就是java的web文件,相当于HTML文件
 楼主| 发表于 2014-7-9 14:01:38 | 显示全部楼层
现在就是,怎么把jsp编码格式是 utf-8的
替换内容输出后,怎么还是原来的格式


BAT文件里面生成文件或者用>输出文件时何指定编码格式现默认ANSI生成完文件里面文乱码现
需要输出时编码UTF-8
发表于 2014-7-9 15:09:20 | 显示全部楼层
回复 7# 8274350


    BAT无法直接处理UTF-8格式的文件
发表于 2014-7-9 15:38:46 | 显示全部楼层
楼主,用sed、gawk这些三方工具吧
发表于 2014-7-9 15:40:00 | 显示全部楼层
powershell:
  1. Out-File  -encoding 'utf8' -inputobject ((type a.txt) -replace 'a','') '你的文件.txt'
复制代码
发表于 2014-7-9 15:41:07 | 显示全部楼层
回复 9# storm8


    如果没有 65535 代码页支持,sed 也无法直接处理 utf-8

评分

参与人数 1技术 +1 收起 理由
storm8 + 1 学习

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 11:36 , Processed in 0.033177 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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