責編 | 伍杏玲
出品 | CSDN博客
封圖 | 視覺中國
在職場中,時間就是金錢,效率堪比“生命”。能否高效準時完成領導布置的任務,關系到后續的考核考評升值加薪,以及走上人生巔峰、迎娶白富美。當然,也有一些大佬家里有礦,那就不在我說的這個行列了。對于和我一樣,默默朝九晚五,期待有朝一日龍得水的程序員,技術進步是關鍵,但能否將技術轉化成自我進步的階梯,這就需要在每個人心中默默的畫個問號了。
閑話少說,今天分享的文章,講解如何將平常頻繁的單調工作、操作,通過系統自帶的命令行,變得自動起來,不需要每件事都親力親為,節省時間,提高效率。
關機與重啟
1.1、關機
如果你覺得每天手動關機太麻煩,給你一行命令,讓電腦每天定時自動關機。
@echo offat 00:00 shutdown -s -f REM 每天00:00關閉所有程序后關機。
將這行命令保存到.bat文件中,Win7系統拖動到“ 開始→程序→啟動 ”目錄下,Win10系統拖動到“ C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp ”路徑下,每天到00點(具體時間按個人需求修改),Windows將會自動執行命令----關機。
1.2、重啟
如果需要經常重啟電腦,一步即可幫你搞定!
@echo off
:: -t表示等待時間,0表示立刻重啟
shutdown -r -t 0
1.3、注銷
注銷電腦,同樣一步搞定??!
@echo off
:: -f 表示強制注銷,不會提示用戶
shutdown -l -f
1.4、休眠
@echo off
:: 立刻休眠計算機
shutdown -h
上述是日常生活中用到的部分命令,如果你想深入鉆研,可以直接通過幫助手冊查看,進入 cmd 界面,敲入命令 /? ,即可查看詳細命令,如下:
備份數據
如果你有一份數據,需要定期備份到服務器或者其他位置,你是不是需要每次復制粘貼呢?這樣重復做著一件事,是不是很枯燥,再加上時間就是金錢,哪有那么多時間重復造輪子?這里給你提供一粒良藥,用得好,可以節省很多時間,提高效率。
@echo off
::文件來源為本機e盤的work文件夾
set source=D:\work
::目標文件夾為PC機192.168.0.1的backup文件夾
set dest=\192.169.1.12\backup
:: 登錄遠程環境
net use \192.169.1.12\IPC$ "adm123" /user:"administrator"
:: 拷貝
xcopy /e /v /r /y /z %source% %dest%
將以上腳本放到桌面或者加入定時啟動項任務,每次定時備份,不是可以節省很多時間么?
WinRAR妙用
WinRAR簡直是個神器,為什么這么說呢?在之前工作中,有個任務是定期升級很多項目,然后發布到公司官網,但是有些項目沒有迭代,無需更新,按理說只需要更新修改的就行。20多個項目,每次都需要手動檢查打包一遍,然后提交更新,非常繁瑣。好在后來認識了WinRAR這個神器,我只需要花一次時間,把需要打包壓縮的內容告訴它,后續我只需雙擊一下它,它就可以幫我出色的完成任務,最重要的一點,它可以自動對比文件有沒有被修改,從而決定要不要拷貝,節省了大量的時間。
WinRAR之所以能夠自己找到需要的文件進行備份,秘密就在一個列表文件上。這以1st為后綴名的文件實際上是一個純文本文件,其中的內容便是需要備份的文件列表,需要提供備份文件的完成路徑。
\fst1\work // 機器1上的工作文件夾
\fst2\work // 機器2上的工作文件夾
① 在自己喜歡的目錄下新建一個文件夾,比如data,新建一個文本文件,將上面兩行列表輸入,另存為 .lst 即可,切記文件后綴是 lst 。
② 完成上面文件編寫后,接著通過WinRAR備份數據。打開data文件夾,在空白處點擊右鍵,選擇 “新建→快捷方式” ,在彈出的“創建快捷方式”對話框中輸入以下命令:
″c:\program files\WinRAR\WinRAR.exe″ u -y -ep2 d:\data\data.rar @d:\data\bak.1st
點擊“下一步”,直到完成,即可創建一個快捷方式。以上命令行中的參數意義為:
u表示更新壓縮包內的文件;
-ep2表示當壓縮時存儲完整的文件路徑;
-y表示所有的詢問均回答“是”。
但是有的文件并不是新版完全代替舊版,因此不能進行更新替換,每天必須保存為不同的備份文件。此時,我們在“創建快捷方式”對話框中要輸入的命令應該如下所示:
″C:\Program files\WinRAR\WinRAR.exe″ a -ep2 -ag ddmmyy d:\data\data.rar @d\data\bak.1st
其中,“-ag” 表示以當前日期與時間生成壓縮文件名,后面的附加字串“ddmmyy”表示所用日期的格式。data.rar為基本文件名,最后生成的文件名后面還會依照我們指定的格式附上日期。這樣,每次運行該快捷方式時,便會在服務器的D盤data文件夾下生成一個形如data200321.rar的備份文件。
批量啟動程序
正如開頭所說,菜鳥被領導批評了,原因是什么呢?8:30準時上班,8:31的時候,工作環境都沒打開,還在慢吞吞地登錄郵箱,對比旁邊的大佬,已經開始工作了,領導心里自然不是舒服,那怎么樣才能讓你快速開啟工作環境,高效工作呢,以下命令行幫你。
用批處理命令 start 呀,將需要啟動的程序編寫好,只需要雙擊或者加入啟動項,開機就會直接啟動。
@echo off
echo Start Google..
start "" "C:\Program Files (x86)\Chrome\chrome.exe"
echo Start youdao..
start "" "D:\Program Files (x86)\youdao"
:: 按照上述格式,將需要打開的程序路徑寫在start后的第二個參數位置即可。
添加路由
菜鳥剛入職時,公司內網有很多小網網段,怎么連都連不上,請教導師,導師用一行命令,讓我可以暢通內網,原來是添加路由,相信很多初入職場的新人也遇到過這種小問題。下面給出終極腳本。
:: 添加永久路由
route add 192.168.0.0 mask 255.255.0.0 192.169.13.1 -p
上述命令將添加192.168.0.0網段路由到192.169.13.1網關,這樣博主的192.169.13.5就可以訪問192.168.0.0網段的所有服務器。關于route的詳細命令,可使用 /? 參數查看,也可以看博主總結的思維導圖, 在本文末尾章節。
批處理腳本編譯代碼
眾所周知,Windows下C++等開發都是可視化界面,常用的是Visual Studio系列,這種可視化編程工具,提供了傻瓜式的編程流程。只要你會寫業務代碼,點擊編譯器“重新生成解決方案”,編譯器會自動幫你編譯程序,你不需要了解編譯器的原理,即可輕松的干完工作。但是,問題來了,比如你有n多個項目,不是同一個解決方案,如果要發布版本,你是不是需要依次打開這n多個項目,逐個點擊編譯?周而往復,樂此不疲?
其實大家都知道,我們對新鮮事保持敏感,過了新鮮期,一般就會覺得枯燥無聊,傳說中的婚姻就是這樣的,不知道在座的各位大佬有無體會?那編譯程序也是如此,每次發布版本,你都要執行上述操作,煩死了。那咋辦呢?給你一招,讓你只新鮮一次,爽!
進入正題,下面將博主多年前在Windows下使用批處理編譯項目的腳本貼出來,有需要的同學可以復用。
啟動文件
@echo off
set TargetDirOld=MyWork
set TargetDir=%~dp0%date:~0,4%%date:~5,2%%date:~8,2%_MyWork.100
set TargetDir1=%~dp0%date:~0,4%%date:~5,2%%date:~8,2%MyWork.100Bak
set LogFile=%~dp0output.txt
set deven2008="C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
if exist %LogFile% (
del %LogFile%
)
echo 原文件夾:%TargetDirOld% >>%LogFile%
echo 目標文件夾:%TargetDir% >>%LogFile%
echo 1、拷貝原文件
if not exist %TargetDir% (
mkdir %TargetDir%
)
if not exist %TargetDir1% (
mkdir %TargetDir1%
)
cd ..
echo 開始拷貝文件,%Date% %time%
echo 當前路徑:%cd%
echo 目標為 %TargetDir% ,拷貝一份作為最終文件
xcopy /y /R /e %TargetDirOld%\*.* %TargetDir% >>%LogFile%
echo 目標為 %TargetDir% ,拷貝一份作為編譯臨時文件
xcopy /y /R /e %TargetDirOld%\*.* %TargetDir1% >>%LogFile%
::進入編譯目錄
cd %TargetDir1%
echo 當前路徑 : %cd%
cd ..
echo 開始編譯 %Date% %time%
call VideoPlay.bat %deven2008% %TargetDir1% %TargetDir% %LogFile%
echo 編譯結束,當前路徑 %cd%
echo 結束編譯時間 %Date% %time%
echo
pause
具體項目文件
@echo off
:: 接收調用者傳入的參數
:: 編譯器路徑
set buildTarget=%1%
:: 需要編譯目錄
set source=%2%
:: 編譯后拷貝路徑
set target=%3%
:: 日志路徑
set logFile=%4%
echo===========開始編譯 VideoPlay 項目===================
set current=%source%\VideoPlay\
set targetNew=%target%\VideoPlay\
pushd %current%
%buildTarget% VideoPlay.sln /rebuild "RELEASE|Win32" /out %logFile%
copy %current%\bin\VideoPlay.exe %targetNew%\bin\
popd
echo===========編譯完成 VideoPlay demo===================
以上腳本部分符號解釋如下:
:: 英文雙冒號是注釋作用,也可以用REM 后加注釋內容。
@ 顯示當前命令不要在控制臺輸出回顯。如@echo off 關閉所有命令輸出的回顯。
set 設置變量,后續引用,需要用 %變量% 這種形式。
call 啟動批處理文件,可以實現傳參。傳入的參數在被調用文件中以%1%、 %2%等依次接收。
pushd 切換到后面的路徑下。
popd 退出切換后的路徑,返回到之前的原始路徑。
特別提醒:批處理文件中一段字符串中切記不能出現空格,有空格就會被解析為兩段字符串。
介紹完博主的批處理文件,這里只涉及了幾個簡單的批處理命令,還有很多很多,比如編譯完成后打包壓縮發布等一系列流程,都可以使用批處理搞定。博主后續整理了常用的批處理命令,同樣以思維導圖的形式發出來,方便大家參考學習。
其他命令
以下命令總結自網絡,大多數在博主自己計算機上測試過了,有需要的可以看看。
ver 在DOS窗口下顯示版本信息
winver 彈出一個窗口顯示版本信息(內存大小、系統版本、補丁版本、計算機名)
format 盤符 /FS:類型 格式化磁盤,類型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFS
md 目錄名 創建目錄
replace 源文件 要替換文件的目錄 替換文件
ren 原文件名 新文件名 重命名文件名
tree 以樹形結構顯示出目錄,用參數-f 將列出第個文件夾中文件名稱
type 文件名 顯示文本文件的內容
more 文件名 逐屏顯示輸出文件
doskey 要鎖定的命令=字符
doskey 要解鎖命令=為DOS提供的鎖定命令(編輯命令行,重新調用win2k命令,并創建宏)。如:鎖定dir命令:doskey dir=entsky (不能用doskey dir=dir);解鎖:doskey dir=
taskmgr 調出任務管理器
chkdsk /F D: 檢查磁盤D并顯示狀態報告;加參數/f并修復磁盤上的錯誤
tlntadmn telnt服務admn,鍵入tlntadmn選擇3,再選擇8,就可以更改telnet服務默認端口23為其它任何端口
exit 退出cmd.exe程序或目前,用參數/B則是退出當前批處理腳本而不是cmd.exe
path 路徑\可執行文件的文件名 為可執行文件設置一個路徑。
cmd 啟動一個win2K命令解釋窗口。參數:/eff、/en 關閉、開啟命令擴展;更我詳細說明見cmd /?
regedit /s 注冊表文件名 導入注冊表;參數/S指安靜模式導入,無任何提示;
regedit /e 注冊表文件名 導出注冊表
cacls 文件名 參數 顯示或修改文件訪問控制列表(ACL)——針對NTFS格式時。參數:/D 用戶名:設定拒絕某用戶訪問;/P 用戶名:perm 替換指定用戶的訪問權限;/G 用戶名:perm 賦予指定用戶訪問權限;Perm 可以是: N 無,R 讀取, W 寫入, C 更改(寫入),F 完全控制;例:cacls D:\test.txt /D pub 設定d:\test.txt拒絕pub用戶訪問。
cacls 文件名 查看文件的訪問用戶權限列表
REM 文本內容 在批處理文件中添加注解
netsh 查看或更改本地網絡配置情況
批處理命令思維導圖總結
本章節貼出部分總結的思維導圖,鑒于篇幅關系,其他導圖以資源的形式上傳到博主資源下,免費下載,內含前面涉及的所有批處理腳本、思維導圖原件、思維導圖圖片等,有需要的可以移步博主博文下載。
寫在結尾
本文的創作靈感來自博主近期的項目需求,但是之前搞批處理時間比較久,之前的知識居然忘掉了,時間真是個可惡的人,帶走了我的青春。
因此回過頭來,又翻箱倒柜,找出之前的筆記,做完需求,順便將筆記整理于此,如果你也在工作中遇到了相同的問題,可以借鑒解決,希望能幫到你。
如果對你有幫助,請點贊關注支持我,后續還會有更多干貨輸出;如果你在閱讀中發現問題或者Bug,可以隨時留言或私信我,我會及時更新,以便讓更多需要的人受惠。萬分感謝~
版權聲明:本文為CSDN博主「造輪子」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Marble_ccp/article/details/105028406
家好,我是老蓋,首先感謝觀看本文,本篇文章做的有視頻,視頻講述的比較詳細,也可以看我發布的視頻。
今天我們學習DOS命令shutdown這個命令,它這個命令主要用于電腦windows系統關機重啟注銷等一些操作,也經常用于批處理腳本中,可以做一個腳本,進行一鍵重啟或者關機注銷等。
我們還是先簡單的看一下這個命令的介紹和參數,輸入命令shutdown /?,可以看到這個命令有很多的參數,我們平時用的參數也不太多,主要就是關機重啟注銷等還有一個時間倒計時參數。
我先演示一下關機參數,輸入shutdown /s,/s是關閉計算機,運行后系統就會提示windows是在一分鐘內關閉。
接著我輸入命令shutdown /a停止電腦關機,/a是中止系統關閉。
輸入命令shutdown /r是重新啟動計算機,/r 是關閉并重新啟動計算機。
參數 /t xxx設置關閉前的超時為 xxx 秒,我這里輸入了命令shutdown /r /t 20,就是20秒后重新啟動電腦。
shutdown命令參數簡單的都介紹完畢了,大家可以自己新建一個批處理腳本,然后輸入命令殺shutdown /s /t 0,這樣就是一鍵關機腳本,可以自己可以修改一下參數,做成其他的功能,這個命令比較簡單,大家可以測試一下。
感謝觀看本篇文章,希望對你有所幫助,本文由老蓋聊技術原創,我是老蓋,專注分享IT互聯網與電腦知識,歡迎關注,本文是出于愛心幫助人的目的所寫,請隨意分享轉載,幫助人越多愛的力量就越大,感謝正能量傳播。
家好,我是老蓋,首先感謝觀看本文,本篇文章做的有視頻,視頻講述的比較詳細,也可以看我發布的視頻。
今天我們學習dos運行exe執行程序,運行exe的方式很簡單,但是有一些需要注意的地方,分別和大家說一下。
輸入命令calc.exe回車,這個就是電腦上計算器的exe執行程序,輸入計算器文件名字就啟動了。沒有輸入路徑是因為有個系統的環境變量。在啟動運行exe的時候,如果只輸入文件名,dos會從系統環境變量路徑里邊查找是否有這個exe,如果有了就會啟動運行。
另外只輸入calc,不輸入后邊的.exe也是可以運行的,它會自動尋找這個名字的程序或者批處理,如果沒有這個名字的exe,就會尋找這個名字的bat批處理文件,所以說大家在啟動exe或者批處理的時候,最好加上后綴名就是EXE或者BAT,否則的話,有可能會啟動出錯。
這個就是啟動運行了計算器,可以看到運行了一個計算器。
再測試一下完整的路徑啟動計算器,c:\windows\system32\calc.exe這個就是完整的exe路徑。
用完整的路徑也是可以啟動計算器,用完整路徑啟動exe,就不會使用系統的環境變量,我們也可以用自己定義的環境變量啟動exe,我把這個計算器復制到c盤根目錄,換一個位置再啟動一次。
這是在啟動c盤根目錄的計算器,輸入命令c:\calc.exe回車。
這個計算器也啟動起來了。
總結一下,啟動exe的時候,可以輸入文件名也可以輸入帶路徑exe名字,只有文件名的時候會使用系統的環境變量,關于環境變量后續會講解到,也可以使用自己定義的環境變量加上文件名啟動exe,還可以使用完整的路徑名啟動。
啟動exe的時候,最好是加上.exe,如果啟動是一個bat批處理腳本的話,最好是加上.bat,這樣寫的比較規范,不容易出錯,關于bat批處理腳本后續也會講解。
感謝觀看本篇文章,希望對你有所幫助,本文由老蓋聊技術原創,我是老蓋,專注分享IT互聯網與電腦知識,歡迎關注,本文是出于愛心幫助人的目的所寫,請隨意分享轉載,幫助人越多愛的力量就越大,感謝正能量傳播。