Board logo

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

作者: shikouyin    时间: 2016-9-13 16:23     标题: 拖放方式执行修改/替换多个文本内的指定字符串如何实现覆盖写入/输出到源文件/原文件

本帖最后由 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则没有问题,有些疑惑,在输出内容时该怎么使用存在变量中的地址呢?
作者: pcl_test    时间: 2016-9-13 16:35

http://www.bathome.net/thread-41681-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2