2017-03-06 66 views
0

下面的代碼工作正常。這將輸出顯示「TF-IPHB160240_JATS」。我想設置一個變量來存儲文件名只

@echo off 
set file="D:\Backup\12-14-2016\tool\TF-IPHB160240_JATS.xml" 
FOR %%i in ("%file%") do echo %%~ni 

我想設置一個變量來存儲文件名。下面是我已經嘗試過,但它不工作。

@echo off 
set file="D:\Backup\12-14-2016\tool\TF-IPHB160240_JATS.xml" 
FOR %%i in ("%file%") do (
set view=%%~ni 
echo %view% 
pause 

回答

0

雖然你有一個括號中的代碼丟失,我覺得你是想呼應變量裏面一個for循環。爲此,您需要使用延遲擴展。

但是它沒有必要呼應它在循環中

@Echo off 
Set "file=D:\Backup\12-14-2016\tool\TF-IPHB160240_JATS.xml" 
For %%i In ("%file%") Do Set "view=%%~ni" 
Echo=%view% 
Pause 

這是使用延遲擴展

@Echo off 
Set "file=D:\Backup\12-14-2016\tool\TF-IPHB160240_JATS.xml" 
For %%i In ("%file%") Do (Set "view=%%~ni" 
    SetLocal EnableDelayedExpansion 
    Echo=!view! 
    EndLocal) 
Pause 
+0

非常感謝你先生 – Karthick

相關問題