2015-06-17 52 views
0

這部分腳本不是變量creationYear的設置值。用於windows的批處理腳本設置變量值

set creationYear=dir/T:C %%i | cut -c 7-10 

echo %creationYear% 

顯示ECHO處於關閉狀態,有@ECHO OFF在啓動。

+0

如果批處理這部分代碼是__for__循環或__if__條件裏面,你需要使用延遲的環境變量擴展。打開命令提示符窗口,在那裏執行'set /?'並讀取幫助頁面輸出。在堆棧溢出搜索與'[批處理文件]延遲擴展',你會發現成千上萬的問題和答案。 – Mofi

+0

是的,它是在循環中,我用/ creationYear替換了變量,並用!creationYear回顯!仍然無法正常工作 –

+2

而且,您無法使用您在此處嘗試的方法將命令的輸出分配給環境變量。你需要一個__for__循環來完成這個任務。要獲得關於命令__for__的幫助,打開一個命令提示符窗口,在那裏執行'for /?'並讀取幫助頁面輸出。當然,在堆棧溢出中,有成千上萬個問題和答案,演示如何使用__for__將命令的輸出分配給環境變量。 – Mofi

回答

0
for /f "tokens=* delims=" %%# in ('dir/T:C %%i ^| cut -c 7-10') do (
set "creationYear=%%#" 
) 
echo %creationYear% 

儘管你可以無需外部工具的創建日期一樣cut