背景:這是第三次接觸.bat 檔案了。第一次是實驗室自動上網,為使實驗室電腦自動登入上網,須設定windows任務計畫,使電腦定時刷.bat指令碼,以登陸上網。第二次是朋友用.bat提取**名字。現在是實驗室專案要用.bat進行批處理,將某些檔案統一移到乙個特定資料夾裡。
今天才真正了解了一點.bat檔案,該檔案裡使用dos命令,可以進行windows批處理。
我發現,使用原本的.bat檔案,執行成功,但是當我對該檔案右鍵編輯之後,哪怕是特別無關緊要的修改都會導致該檔案無法執行(雙擊閃退,根本沒執行)。在問了c師兄之後,我才知道這個.bat檔案是dj師兄之前在linux系統下建立的,所以在windows10系統上修改之後,檔案的第一行會被隱藏。也就是說,linux系統的.bat檔案在windows10系統上不相容,如果在windows10上對檔案進行修改,會導致檔案第一行被隱藏。
為了驗證這個猜想,我將原來的檔案第一行寫了兩遍,再雙擊執行,發現成功了!
原**為:
:: 第一行因為不相容會被隱藏
set proroot=%~dp0
set dd=%date:~8,2%
set mm=%date:~5,2%
set yy=%date:~0,4%
set tss=%time:~6,2%
set tmm=%time:~3,2%
set thh=%time:~0,2%
set foldername=%proroot%\old\%yy%-%mm%-%dd%_%thh%.%tmm%.%tss%
mkdir "%foldername%"
move "%proroot%\*.cpp" "%foldername%"
move "%proroot%\mouwenjianjia\*.obj" "%foldername%"
第一行雖然寫兩遍可以執行成功,但是這樣也不是個辦法。解決方法就是,在windows10上重新建立乙個文字文件(.txt),然後將原.bat檔案裡的dos命令複製過來,儲存的時候加.bat字尾。 雙擊bat檔案以管理員身份執行
第一種方式 在bat檔案最頂端加入如下 echo off nul 2 1 systemroot system32 cacls.exe systemroot system32 config system if errorlevel neq 0 goto uacprompt else goto gota...
C 執行 bat檔案
生成bat檔案,dr包含ftp資訊,strbatpath是生成bat檔案的路徑 private void createbat datarow dr,string strbatpath else if system.io.file.exists strbatpath system.io.file.de...
bat檔案執行方式
bat是批處理檔案,在windows和linux上都可以使用。不過在linux的命令列中不可以直接敲 bat 系統會去找所有的命令。想要呼叫bat檔案,需要寫絕對路徑,比如 home mydir bat 或者是切換到bat檔案所在的目錄,然後鍵入 bat 這裡的 是告訴系統在當前目錄下找名為 bat...