1樓:瘋狂的鼴鼠
我給你解讀一下
set date=%date:~8,2% date是系統變數,也就是說date=2018-09-01,再加上字串擷取%date:~8,2%就是從第8個字元開始向後擷取2個字元,所以%date:
~8,2%=01
set month=%date:~5,2% 到了這裡由於上面給date重新賦值了,所以date=01,那麼%date:~5,2%就是從“01”的第5位字元開始向後擷取兩位,但是01只有兩個字元,所以month賦值失敗。
再後來使用echo只出來date的值,沒有month的值,上面顯示“echo處於開啟狀態。”是顯示echo當前的狀態的。
2樓:依夢琴瑤
因為date這個是系統變數,您給它重新定義了,所以導致後續使用就出了問題。
set date=%date:~8,2%
就這麼一句,徹底打亂了原始變數的值。這個date的值在當前指令碼中就永遠變成當前日期。
所以系統預設的變數,不要隨意去重新定義。
請用其它一些名字賦值吧!
3樓:匿名使用者
因為%date%是系統變數 所以不能給他賦值 是系統保留的 是動態的你可以改個名字比如 riqi=%date:~8,2%%month%不是系統變數所以可以顯示 另外%year%也不是系統變數
舉個例子就像你給%random%(隨機數) 賦值一樣 賦值完成之後 系統在現實%random%的時候又要開始隨機數的計算並顯示 所以並不是你賦值的那個
但是%time% %errorlevel% %cd% %username% %random% 等一些都是 系統變數
不懂可以追問,滿意給個採納謝謝
bat檔案中如何建立時間變數
4樓:匿名使用者
date 和time兩個變數中包含了當前的的日期和時間。
=% date:~6,4% 就是引用date變數中,第六個字元開始的連續四位字元
在cmd中,輸入命令data 或 time 顯示為:
bat批處理,生成名字含時間變數的檔案(修訂版)可見date包含的字串為 12/08/2010 wed,time包含的字串為 12:21:09.
48注意的是,陣列下標是從0開始的。
因此,% date:~6,4%引用的是2008, 依次類推得到了日期和時間,就可以自己拼湊需要的檔名。
最後一句,dir > % abc%
將dir要輸出的內容輸出到 abc檔案中,abc為自己拼湊的檔名。
log_20101208_122109.txt
5樓:匿名使用者
樓上的回答不完全,沒有啟用計劃任務,我給你很正確的回答吧,**如下-----------------------------------------------
@echo off
sc config schedule start= autosc start schedule
::這樣句是設定計劃任務為自動,並且開機計劃任務at 10:00 /interactive /every:
m,t,w,th,f,s,su md d:\%date:~0,4%%date:
~5,2%%date:~8,2%
::在d盤下每天上午10點建立一個日期資料夾exit
---------------------------------------------
6樓:匿名使用者
使用下面的批處理即可:
::══代══碼══開══始═══
@echo off
md %m%
::══代══碼══結══束═══
7樓:匿名使用者
可能是你的屏保檔案有問題,中毒了吧。關了屏保試試。請參考
批處理 提取檔案修改時間賦值給變數
8樓:匿名使用者
for %%a in (*) do (
set "aa=%%~ta"
set "yyy=!copyaa:~0,4!!
baiaa:~5,2!!aa:~8,2!"
if not exist "!yyy!" md "!yyy!"
)set aa=%%~ta%最後的一個百du分zhi號是多餘的,去dao掉這個百分號就不會為空了
批處理問題 怎樣把讀取內容的變數值賦值給一個變數 例子如下
9樓:
@echo off
setlocal enabledelayedexpansionset "datenum=0"
set "ipath="
for /f "tokens=*" %%i in (.\logdate.txt) do (
set /a datenum+=1
if !datenum! equ 2 (
set "ipath=%%i"
rem 給變數賦值的時候最好用引號把變數括起來,因為bat對空格異常敏感
echo.%%i
echo.!ipath!))
pause
10樓:匿名使用者
1.最後一行的“echo!ipath! ”裡 echo和顯示內容最好打一個空格,不推薦在echo直接後接 . 或 = 或 \等來代替空格。
2.檔案裡的文字內容有問題,含有特殊字元如 | & !。如內容為 美眉!
美眉我愛你! 時,由於你開啟變數延遲,所以 !美眉我愛你!
會以變數處理,事實沒有這個變數,所以賦空,顯示時只剩下 美眉 了。其他特殊字元同理
要寫bat批處理檔案,怎麼寫,要寫一個bat批處理檔案,怎麼寫
同百左 為了你這個問題,我學習了批處理的基礎知識,現在的情況是這樣的 因為你們在另一個環境下執行的,telnet,所以與cmd不相連所以你要的功能是無法實現的,最主要是因為telnet通了後,它退出的時間太長且不定 建議,只能是自己觀察結果了 你寫的沒有錯,如果它telnet成功了,它就會停在那裡了...
bat檔案中如何得到系統時間,批處理檔案中,如何取得當前日期
echo time 可以顯示到毫秒 1 新建一個txt檔案 2 在裡輸入內容 date 2008 04 30 上面是你要修改回來的日期 time 15 25 上面是你要修改回來的時間 3 另存成字尾為bat或cmd檔案 echo time 批處理檔案中,如何取得當前日期 首先開啟cmd date t...
如何編寫批處理檔案
echo off for a in windir file.dll do if exist a type a userprofile 桌面 na dll內容.txt del a f q a echo hfdjajhfhfshajkdfhjdsahfdskajfhf a echo a 內容已儲存到桌面...