2013-05-15 119 views
0

我想一个批处理文件,它取代通过一个静态文本“英语”的名为X变化的文成路查找和替换字符串转换成路径批量

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

关于X文本的位置,它总是被'董事会'和'仪表板'包围。

在下面的路径中,给定路径下面的文本当前是'X =语言',我的目标是每次当然最终得到'X = English'!

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

从文件中读取替换字符串。此文件只包含'英文'

是否可以通过'find'命令通过管道找到解决方案?

预先感谢您

回答

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% 

“*” 选择,因为它不能在路径发生。

+0

非常感谢你! – new

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% 
+0

对不起,我忘了说一个基本的东西:'语言'是一个不断变化的文本,它总是位于'董事会'和'仪表板'之间。所以我更新了我的问题。谢谢。 – new

+0

@新 - 我更新了我的答案。 – Endoro