0

我正在尝试一个批处理文件,它将名为 X 的更改文本替换为静态文本“英语”到路径中

  Y:\SUT\ISTQB\Board\X\Dashboard\Open

关于 X 文本的位置,它总是被 'Board' 和 'Dashboard' 包围。

在下面的路径中,给定路径的当前文本是“X=Language”,我的目标当然是每次都得到“X=English”!

   Y:\SUT\ISTQB\Board\Language\Dashboard\Open

从文件中读取替换字符串。此文件仅包含“英文”

是否可以使用“find”命令通过管道找到解决方案?

先感谢您

4

2 回答 2

0

试试这个:

@echo off &setlocal enabledelayedexpansion
set "string=Y:\SUT\ISTQB\Board\Language\Dashboard\Open"
set "search=%string:*\Board\=%"
for /f "delims=\" %%i in ("%search%") do set "search=%%i"
set "string=!string:%search%=English!"
echo %string%
于 2013-05-15T22:50:16.180 回答
0
@ECHO OFF
SETLOCAL
SET mypath=Y:\SUT\ISTQB\Board\X\Dashboard\Open
FOR /f %%i IN (languagefile.txt) DO SET language=%%i
SET mypath=%mypath:\Dashboard\=*%
SET mypath=%mypath:\Board\=*%
FOR /f "tokens=1,3delims=*" %%i IN ("%mypath%") DO SET mypath=%%i\Board\%language%\Dashboard\%%j
ECHO %mypath%

选择“*”是因为它不能出现在路径名中。

于 2013-05-15T23:59:23.253 回答