Board logo

标题: [求助]替换的问题 [打印本页]

作者: mrhxn     时间: 2008-8-25 18:31    标题: [求助]替换的问题

批处理脚本:
@echo off&setlocal enabledelayedexpansion
(for /f "delims=" %%i in (boot.ini) do (
set a=%%i
set a=!a:/noexecute=optin=!
echo !a!
))> boot12.txt

想把:/noexecute=optin删掉,结果输出了:
optin=


有什么办法吗?请帮帮忙。
作者: HAT     时间: 2008-8-25 19:18
这样可以么?
@echo off
for /f "tokens=4 delims=/=" %%a in ('findstr "noexecute=optin" "boot.ini"') do (
  echo %%a=
)

作者: mrhxn     时间: 2008-8-25 20:13


  Quote:
Originally posted by HAT at 2008-8-25 07:18 PM:
这样可以么?
@echo off
for /f "tokens=4 delims=/=" %%a in ('findstr "noexecute=optin" "boot.ini"') do (
  echo %%a=
)

不行,输出
optin =

原文件是
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

我想输出这样:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"  /fastdetect

中间的=没办法处理。谢谢!
作者: HAT     时间: 2008-8-25 21:33

@echo off
type nul>"boot12.txt"
for /f "tokens=1-3 delims=/" %%a in (boot.ini) do (
  if "%%c" neq "" (
    >>"boot12.txt" echo %%a /%%c
  ) else (
    >>"boot12.txt" echo %%a
  )
)

作者: mrhxn     时间: 2008-8-25 22:00
太神了,佩服!HAT!