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

[问题求助] 拖放方式执行修改/替换多个文本内的指定字符串如何实现覆盖写入/输出到源文件/原文件

本帖最后由 pcl_test 于 2016-9-13 16:34 编辑

想用拖入的方法修改一个txt的内容,输出时不知应该采用什么格式
  1. @echo off
  2. for %%i in (%*) do (
  3. setlocal enabledelayedexpansion
  4.   set topography=terrain
  5.   set filepath=%%i
  6.   set filetest=j:/test/which.txt
  7. for /f "delims=" %%j in ('type "!filepath!"') do (
  8.    set str=%%j
  9.    if "!str:state_category=!"=="!str!" (
  10.      echo,%%j
  11.                                         ) else (
  12.      echo^         state_category = !topography!
  13.                                                 )
  14.                                                   )>????
  15.      
  16.                     )>????
  17. PAUSE
复制代码
代码大概是这样,用途是拖入多个txt,搜索其中字段,含有state_category字符串的行全部改成state_category = terrain
正在用filetest这个地址进行测试,原本是写在第一个问号处,用的是!filetest!,生成了which.txt,但内容只有一个},然后换到第二个问号处,内容没有问题,结果保存到了以“!filetest!”为名的文件中,直接在第二个问号处用which.txt则没有问题,有些疑惑,在输出内容时该怎么使用存在变量中的地址呢?

TOP

返回列表