2013-12-17 48 views
0

當我在崇高的文本按Ctrl + Shift + B,我有一個批處理文件運行時,此批處理文件中,我有以下:崇高文本生成批處理文件

set arg1=%1 
echo %arg1% 
set arg2=%arg1:c:=r:% 
echo %arg2% 
set arg3=%arg1:c:=z:% 
echo %arg3% 
bcompare %arg1% %arg2% 
bcompare %arg1% %arg3% 

所以,我得到C:\的文件路徑和比較除了R:\之外,該文件(使用Beyond Compare 3)具有完全相同的路徑。這一直很大,但是今天我不得不做出對C:\一些改變,我的文件和文件夾結構,並說mytestfile.php路徑是現在:

C:\的Inetpub \ wwwroot的\ MAIN \網站\ mytestfile。 PHP

這樣改變了位是Main\上。然而驅動R:\我沒有那個文件夾,主,我要的路徑是:

C:\的Inetpub \ wwwroot的\ site \ mytestfile.php

我怎樣才能更改.bat文件中的代碼,以考慮通過去除Main\R:\Z:\文件路徑這種變化?

任何幫助將不勝感激。

謝謝。

回答

1

你做了別人替代以同樣的方式:

set $path=%1 
set $path1=%$path:main\=% 

echo %$path% 
set $path2=%$path1:c:=r:% 
echo %$path2% 
set $path3=%$path1:c:=z:% 
echo %$path3% 
echo bcompare %$path% %$path2% 
echo bcompare %$path% %$path3% 
+0

這不行!它已經從'C:'的文件路徑中刪除了'Main'!我只想在其他兩個驅動器上刪除它:( – Ciwan

+0

雖然它幫助我得到答案。謝謝 – Ciwan

+0

檢查編輯現在是好的 – SachaDee

0

編輯arg2變量不包括主目錄。

set arg1=%1 
echo %arg1% 
set arg2=%arg1:c:=r:% 
echo %arg2% 
set arg3=%arg1:c:=z:% 
echo %arg3% 

::Select which parts of the path you want from %%a (drive letter) to the file 
for /f "tokens=1* delims=\" %%a in ("%arg1:"=%") do (set arg2="%%a\%%b\%%c\%%e") 

:: Compare 
:: C:\inetpub\wwwroot\Main\site\mytestfile.php 
:: %%a\%%b \%%c \%%d \%%e \%%f 

bcompare %arg1% %arg2% 
bcompare %arg1% %arg3%