我想用當前日期和時間的名稱創建一個文件夾。 搜索了很多後,我發現這實際上有效。請解釋一下批處理命令
有人可以解釋這些批處理命令的作用嗎?
set timestamp=%DATE:/=-%@%TIME::=-%
set timestamp=%timestamp: =%
mkdir "%timestamp%"
我想用當前日期和時間的名稱創建一個文件夾。 搜索了很多後,我發現這實際上有效。請解釋一下批處理命令
有人可以解釋這些批處理命令的作用嗎?
set timestamp=%DATE:/=-%@%TIME::=-%
set timestamp=%timestamp: =%
mkdir "%timestamp%"
set timestamp=%DATE:/=-%@%TIME::=-%
這是一個字符串替換。
1:
%DATE:/ = - %替代對象 「/」 字符爲 「 - 」 字符日期變量
(見:在控制檯上回聲%DATE%)
第二:
添加 「@」 字符到DATE VAR後,時間VAR之前的字符串。
3:
%TIME :: = - %替代對象 「:」 字符爲 「 - 」 字符。
(參見:回聲%TIME%在控制檯上)
set timestamp=%timestamp: =%
接下來在更換替代本身空格任何characarter(所以刪除空格),但實際上任何空間給這樣是沒有必要的在你的示例代碼中。
您可以瞭解更多有關變量的字符串替換此處http://ss64.com/nt/syntax-replace.html
你也可以簡化您的代碼「導致沒有必要先設定值:
mkdir "%DATE:/=-%@%TIME::=-%"
插入線之間echo語句,你可以看到什麼時間戳的值是
set timestamp=%DATE:/=-%@%TIME::=-%
echo %timestamp%
set timestamp=%timestamp: =%
echo %timestamp%
mkdir "%timestamp%"
基本上,代碼只是從時間消除之日起,正斜槓和冒號,因爲這些不是有效的目錄名稱替換他們與hypens。
閱讀集/?環境變量替代以獲得更好的想法。
偉大的答案電力幣。謝謝!你可以投我的問題嗎?在互聯網上很難找到它,也可能會幫助其他人。我也需要一些聲譽來投票你的答案,因爲我有點新在這裏 – 2013-04-25 20:03:09
當然沒有問題,但如果我的答案解決了你的問題,使用接受按鈕也接受我的答案。 PS:你有我的+1,但是從另一個人-1,所以你的問題有0代表 – ElektroStudios 2013-04-25 20:16:12
對不起。我不知道我可以在這個網站上私下與您聯繫,但似乎並不允許我發佈另一個問題,因爲這個帖子不符合我們的質量標準。但我還有一個問題:**我正在創建一個批處理文件,可以同時啓動其他批處理文件。 我正在使用此代碼來設置我需要在所有批處理文件中的時間變量。 如果我在每個批處理文件中使用相同的語法,我會得到不同的輸出。 那麼,我如何使這個變量通用的所有文件,我必須使用VB腳本? set timestamp =%DATE:/ = - %@%TIME :: = - %** bold ** – 2013-04-25 20:27:06