Windows批處理更改當(dāng)前工作路徑的BAT
獲取文件夾下所有文件信息并保存到當(dāng)前目錄下test.txt中的cmd命令:
dir /s /b *.* > test.txt
保存為test.bat文件,然后雙擊test.bat后就會在該文件夾目錄下生產(chǎn)test.txt,里面會包含所有文件的路徑信息。
打開任務(wù)計劃程序中,創(chuàng)建新的基本任務(wù),安裝步驟創(chuàng)建并把啟動程序設(shè)置成test.bat
右鍵點擊該任務(wù)運(yùn)行,看是否能成功運(yùn)行test.bat
此處就出現(xiàn)問題了:顯示該計劃任務(wù)已經(jīng)執(zhí)行完成,但是你會發(fā)現(xiàn)在剛剛文件夾的路徑下并沒有生成test.txt這個文件。
然后嘗試修改test.txt的路徑信息,用絕對路徑,然后再次運(yùn)行計劃任務(wù)
dir /s /b *.* > D:\test\test.txt
依然有問題:雖然test.txt文件確實生成了,但是里面的文件信息并不是當(dāng)前文件夾下的,而是windows\system32下的文件信息,比如:C:\WINDOWS\system32\0409等等
問題點在于當(dāng)前工作路徑,系統(tǒng)計劃任務(wù)時候默認(rèn)的當(dāng)前工作路徑是C:\WINDOWS\system32,所以顯示的是C:\WINDOWS\system32下面的文件信息
修改當(dāng)前工作路徑:在bat文件中加入一行,先把bat所在的目錄設(shè)置成當(dāng)前工作路徑
cd /d %~dp0 dir /s /b *.* > test.txt
這樣一來就完美解決了此問題,計劃任務(wù)能被完美執(zhí)行下來去獲取當(dāng)前文件夾下所有文件信息。
如何使用批處理文件更改當(dāng)前工作目錄
I need some help in writing a batch file. I have a path stored in a variable root as follows:
set root=D:\Work\Root
Then I am changing my working directory to this root as follows:
cd %root%
When I execute this batch file from anywhere on the D drive this is done successfully. But when I execute the same batch file from some other drive, cd %root% doesn't work.
Is there a way I can get the drive letter from the root variable? I can then change the current directory to this drive first and then cd %root% shall work.
相關(guān)文章
批處理bat下載FTP服務(wù)器上指定天數(shù)之前的文件
這篇文章主要介紹了批處理bat下載FTP服務(wù)器上指定天數(shù)之前的文件的實現(xiàn)代碼,需要的朋友可以參考下2014-07-07Assoc顯示或修改文件名擴(kuò)展關(guān)聯(lián)
Assoc顯示或修改文件名擴(kuò)展關(guān)聯(lián)...2007-09-09bat腳本顯示本機(jī)IP地址的兩種方法(內(nèi)網(wǎng)ip)
有時候我們需要查看本機(jī)的ip地址,一般情況下都是到網(wǎng)上鄰居或ipconfig命令查看,這里為大家分享下用bat實現(xiàn)的代碼,喜歡的朋友可以試試2014-07-07