2013-05-15 160 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