在我的电脑中,我有一系列位于路径C:\Meleena
在之前的一些安装中,此路径不同(它是C:\second_path\Meleena
)。
将每台计算机修复到路径C:\Meleena
后,我有两种不同的情况:
C:\Meleena
C:\second_path\Meleena
因此我可能会遇到C:\Windows\Settings.ini
这样的情况:
[Summer]
Meleena=C:\Meleena
或
[Summer]
Meleena=C:\second_path\Meleena
我想知道批处理文件是否可以从C:\Windows\Settings.ini
[Summer]
部分读取并执行以下操作:
如果Meleena
= C:\Meleena
没有做任何事情;
如果Meleena
= C:\second_path\Meleena
将所有文件从C:\Meleena
复制到C:\second_path\Meleena
是否有可能从Settings.ini
获取批处理文件以阅读此部分并进行有条件的复制?
非常感谢你们所有人。
Meleena
答案 0 :(得分:0)
这应该这样做
for /f "skip=2" %%a in ('find /v "[Summer]" C:\Windows\Settings.ini') do (
if "%%a"=="C:\second_path\Meleena" (
xcopy C:\Meleena C:\second_path\Meleena
)
)
答案 1 :(得分:0)
从参数开始:C:> ini.bat settings.ini Summer Meleena C:\ Meleena
ini.bat:
@setlocal enableextensions enabledelayedexpansion
@echo off
set file=%~1
set area=[%~2]
set key=%~3
set val=%~4
set currarea=
for /f "usebackq delims=" %%a in ("!file!") do (
set ln=%%a
if "x!ln:~0,1!"=="x[" (
set currarea=!ln!
) else (
for /f "tokens=1,2 delims==" %%b in ("!ln!") do (
set currkey=%%b
set currval=%%c
if "x!area!"=="x!currarea!" if "x!key!"=="x!currkey!" (
if not "x!val!"=="x!currval!" (
echo !currval!
xcopy !val! !currval! /H /E /G /Q /R /Y
)
)
)
)
)
endlocal