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

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

本帖最后由 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
复制代码

回复 9# storm8


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

评分人数

TOP

powershell:
  1. Out-File  -encoding 'utf8' -inputobject ((type a.txt) -replace 'a','') '你的文件.txt'
复制代码

TOP

楼主,用sed、gawk这些三方工具吧

TOP

回复 7# 8274350


    BAT无法直接处理UTF-8格式的文件

TOP

现在就是,怎么把jsp编码格式是 utf-8的
替换内容输出后,怎么还是原来的格式


BAT文件里面生成文件或者用>输出文件时何指定编码格式现默认ANSI生成完文件里面文乱码现
需要输出时编码UTF-8

TOP

@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文件

TOP

%utf8% 这个变量是在什么地方定义的?
chcp %utf8% 这样操作的目的是什么?

TOP

bat文件是什么编码格式?
jsp文件是什么编码格式?

TOP

板凳自己拿  大神呢

TOP

沙发自己拿。。。。大家帮帮忙哈!!!顶

TOP

返回列表