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

[文本处理] 【已解决】批处理对于INI文本里面的有些内容修改无效,不知道为什么

本帖最后由 74520 于 2019-3-10 14:01 编辑

比如说:一个名叫“1.ini”的文本,里面的配置如下:

[Render]
ShadowQuality=HIGHEST
ContactShadowSetting=CUSTOM
Fov=40
FullScreenDisplayMode=48


用此批处理代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('type "1.ini"') do (
  4.     set "str1=%%i"
  5.     if "!str1:ShadowQuality =!" neq "%%i" (
  6.         echo ShadowQuality =2
  7.     ) else if "!str1:ContactShadowSetting =!" neq "%%i" (
  8.         echo ContactShadowSetting =2
  9.     ) else if "!str1:Fov =!" neq "%%i" (
  10.         echo Fov =50
  11.     ) else if "!str1:FullScreenDisplayMode =!" neq "%%i" (
  12.         echo FullScreenDisplayMode =50
  13.     ) else (
  14.         echo,%%i
  15.     )
  16. ))>b.ini
  17. move /y b.ini 1.ini
复制代码
没有任何效果,不知道为什么?
希望得到帮助,谢谢

代码建议插入到代码块里。

字符串替换的时候 等号前面的空格 ,不要随便乱加。

TOP

回复 2# cfwyy77_bat


    好的 代码已经放到代码编辑里了 第一次发帖 有些不懂  感谢你的建议

没有空格,但是实际运行BAT后就是没有效果  你可以试试看  谢谢你

TOP

回复 3# 74520

文件里没有空格,但是你的代码中却加了空格
"!str1:ShadowQuality =!"
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 4# zaqmlp


  原来是这里出问题了 感谢您的帮助 谢谢你

TOP

返回列表