首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

请教用replace如何替换文本内容

2013-09-28 
请问用replace怎么替换文本内容?如题,需要用batch脚本写一个文本替换。已经有了一个参考的程序,但是我不理

请问用replace怎么替换文本内容?
如题,需要用batch脚本写一个文本替换。
已经有了一个参考的程序,但是我不理解它是怎么替换的。也查不到replace这样的用法:
replace %%i tmp %oldvalue% %newvalue%

这里 %%i是循环中的文件名, tmp为一个临时文件。 我理解是把%%i这个文件中的 oldvalue替换为newvalue并保存在tmp中。 可是我试着写了一个得到如下错误:

D:\temp>type ttt1.txt
test1
test2
test3

D:\temp>replace ttt1.txt tmp test1 xxx1
Invalid switch - test1
No files replaced

请问为啥总是 Invalid switch? 

另外还有一个问题,放一起问了。。 
if "!errorlevel!" == "1"     
这里的两个 ! 是什么意思? 谢谢。
[解决办法]
replace不能只替换文件中部分内容,你的这个replace应该不是windows下的

replace %%i tmp %oldvalue% %newvalue%
这里 %%i是循环中的文件名, tmp为一个临时文件。 我理解是把%%i这个文件中的 oldvalue替换为newvalue并保存在tmp中
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你应该在之前用echo分别显示这些变量的值到底是什么,以便来组合整个replace语句到底是什么内容,而不是猜想
[解决办法]
Windows系统自带的replace命令时用来替换文件的,而不是替换文件内的字符串。
直接说你的完整需求吧,我可以帮你写代码。

d:\>replace /?
Replaces files.

REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]

  [drive1:][path1]filename Specifies the source file or files.
  [drive2:][path2]         Specifies the directory where files are to be
                           replaced.
  /A                       Adds new files to destination directory. Cannot
                           use with /S or /U switches.
  /P                       Prompts for confirmation before replacing a file or
                           adding a source file.
  /R                       Replaces read-only files as well as unprotected
                           files.
  /S                       Replaces files in all subdirectories of the
                           destination directory. Cannot use with the /A
                           switch.
  /W                       Waits for you to insert a disk before beginning.
  /U                       Replaces (updates) only files that are older than
                           source files. Cannot use with the /A switch.
[解决办法]

引用
自己查到了两个!那个叫 “延缓环境变量扩充”。

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

热点排行