全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:11039
推到 Plurk!
推到 Facebook!

命令列模式指令在Window環境下的應用(含批次檔)

 
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-24 07:59:49 IP:210.208.xxx.xxx 未訂閱
■ 由批次檔方式建立Win 2000 啟動捷徑(適用命令列的套裝軟體安裝方式) SET STARTUP=%ALLUSERSPROFILE%\「開始」功能表\程式集\啟動 c: cd %STARTUP% del /Q *.* copy C:\MyProgram\run.exe.lnk run.exe.lnk □ 解說 1.cd 這個指令是跳到某一目錄的意思,但不支援長檔名或中間有空白字元的路徑 所以不能直接 : "cd %ALLUSERSPROFILE%\「開始」功能表\程式集\啟動",山不轉路轉,我們將 %ALLUSERSPROFILE%\「開始」功能表\程式集\啟動,包到一個環境變數 STARTUP 中,再使用 cd 指令,跳到此環境變數(也就是 Windows 的啟動目錄),先殺掉舊資料,再反過來,從來源目錄將準備放於啟動中的程式,由源端 copy 過來,會使用這種方法也是因為 copy 指令不支援長檔名或中間有空白字元的路徑,所以也不能用"copy C:\MyProgram\run.exe.lnk %ALLUSERSPROFILE%\「開始」功能表\程式集\啟動run.exe.lnk" 這種指令方式 發表人 - bruce0211 於 2002/12/25 23:28:48
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-24 08:11:32 IP:210.208.xxx.xxx 未訂閱
■ 由批次檔方式初始化 某一 Win2000 目錄分享 及 網路使用者帳號 @ echo 本批次檔用來初始化 POS 後台 目錄分享 及 網路使用者帳號 @ echo 請在安裝完 POS 後台後 , 執行本程式一次即可 ........... @ echo 否則會出現 "名稱已經分享" 或 "帳戶已經存在" @ echo. @ pause REM ====== 自動建立目錄並開啟共享 ===== @ IF NOT EXIST C:\POS MD C:\POS @ IF NOT EXIST C:\Dat MD C:\Dat @ NET SHARE POS=C:\POS @ NET SHARE Dat=C:\Dat REM ====== 自動建立使用者 (pos1 & pos2 兩個使用者名稱及密碼123)===== @ NET USER pos1 123 /ADD @ NET USER pos2 123 /ADD @ pause REM ====== 自動開啟安裝印表機對話框 ===== @ RUNDLL32.EXE SHELL32.DLL,SHHelpShortcuts_RunDLL AddPrinter □ 解說 1.批次檔每行前面加 @ 符號,表批次檔在執行時,只會看到結果,不會看到"下命令"的過程 , 您可以拿掉 @ 試試 ,一樣可以執行,但畫面會很亂 2.此種方式分享出的目錄跟開啟的帳號,是一直有效的,下次重開機還是存在,並非臨時性的.. 發表人 - bruce0211 於 2002/12/25 07:39:58
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-24 10:41:03 IP:211.74.xxx.xxx 未訂閱
您好: 如果我記得沒錯的話....(從網路世界中所得到的資訊) 只要在長檔名的左右側加上...雙引號....就可以囉!! 如: cd "C:\Program Files" 上面這一列...的的確確可以讓DOS命令列無法使用長檔名的指令,得到解套!! 其它如: md....rd....等等..應該都可以適用... Thanks!!
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-24 13:09:30 IP:210.208.xxx.xxx 未訂閱
3Q Linux 底下的確可以這樣用 沒想到 DOS 模式下也可這樣用 (應是 98 以後的 dos 才有的語法吧...我猜)
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-24 18:49:14 IP:210.208.xxx.xxx 未訂閱
■由 COMMAND LINE 模式更改 NT/Win2000 網路 IP (不支援 WIN98) 工具 FreeWare : ipchange 語法 ipchange adapterName ipNumber netMask gateway nameServer1 nameServer2 winsServer1 範例 ipchange 1 192.168.10.1 255.255.255.0 192.168.10.254 192.168.10.1 其中 1 : 代表第一張網卡 192.168.10.1 : 代表要設定的 ip 位置 255.255.255.0 : 代表 c class 192.168.10.254 : 代表要設定的區網內路由器位置 192.168.10.1 : 代表要設定的區網內 DNS 主機位置 ■ipchange 下載網頁 http://www.csparks.com/ipchange/IPChange.exe 發表人 - bruce0211 於 2002/12/24 18:51:42
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-25 07:05:42 IP:210.208.xxx.xxx 未訂閱
■COMMAND LINE 模式的壓縮工具 工具 FreeWare : Arj32 (http://www.arjsoft.com/files.htm) 常用語法 壓縮 : ARJ32 a -r Update.arj C:\MyProgram\*.exe 將 C:\MyProgram\ 下連同子目錄中的所有 *.exe 壓縮打包成 Update.arj 解壓 : ARJ32 x -y Update.arj D:\test\ 將 Update.arj 還原至 D:\test\ (會照原本子目錄的位置置放排列) 其中 a 代表壓縮 , -r 代表連同子目錄一起打包壓縮 x 代表解壓縮 , -y 代表解壓直接覆蓋(若已存在目的檔),不會再問你要不要覆蓋 壓成自我解壓檔(*.exe ; 解壓時不用再靠 ARJ32.EXE) ARJ32 a -r -jel Update C:\MyProgram\*.exe 此時作成的 Update 就是個 *.exe 檔而不是 *.arj 檔了 而執行 Update.exe 時要強制覆蓋而不詢問是否覆蓋,只要加個 -y 參數就好了,如 Update.exe -y 其它線上說明請直接執行 Arj32.exe (不加參數) 解說 ARJ 是以前 DOS 下的有名壓縮軟體, ARJ32 則是 32 位元版並支援長檔名 , WinZip 8.0 做成的壓縮檔還要事先有安裝 WinZip ,才能解壓縮 ,雖然也有 Command Line 的方式 (http://www.winzip.com/other.htm), 讓程式可在背景解壓 (也就是不用彈出對話框,讓 user 還要按 unzip , OK ..等按鈕),但我覺都沒 ARJ32 直接下指令的方式來的乾淨俐落 ...用來當軟體更新機制非常適合,丟一個升級檔案,主程式背後自動更版解壓 發表人 - bruce0211 於 2002/12/25 08:26:38
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-25 07:29:28 IP:210.208.xxx.xxx 未訂閱
■COMMAND LINE 模式的 CMOS 資料備份或還原工具 工具 請參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24266 常用語法 CMOS.EXE -S CMOS.DAT (將本電腦的 CMOS 資料存到 CMOS.DAT(檔名任取) 中) CMOS.EXE -R CMOS.DAT (將 CMOS.DAT 資料還原到 CMOS 中) 發表人 - bruce0211 於 2002/12/25 07:31:13
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-28 09:13:04 IP:210.208.xxx.xxx 未訂閱
■COMMAND LINE 模式的 FTP 命令 在 DOS 文字模式下的 FTP 命令其實是可以寫成批次命令的,包含自動 Login,上下傳遠端檔案等,如下這段範例: FTP –n –i –s:autoget.cmd 192.168.1.1 會自動 Login 到 192.168.1.1 並抓下一些檔案回來,那麼 Login 的 username 及 password 跟抓檔的命令寫在哪呢?答案就在自編的 autoget.cmd 文字檔(檔名可自編)內,其內容為:(以 username = test , password = 123 為例) user test 123 cd ../pos mget *.txt quit 上面這段命令稿的內容為:使用 User Name為 test,密碼為 123來做登入,登入 FTP 伺服器後馬上切換路徑到 ../pos目錄內,再抓取所有副檔名為 *.txt者回來到本地端;只要事先定義好 autoget.cmd (檔名可自編)內容,將整個程序掛在 Windows 工作排程內 , 就可利用 FTP 指令自動為我們做事 ; 根本不用為了要能自動輸入 username/password 還自己用 Delphi/BCB 的 FTP 元件特別去寫程式。 □ 補充 : 在 DOS文字模式 (命令提示字元) 下鍵入「FTP -?」,就會出現下列這段說明: FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host] -v Suppresses display of remote server responses. -n Suppresses auto-login upon initial connection. -i Turns off interactive prompting during multiple file transfers. -d Enables debugging. -g Disables filename globbing (see GLOB command). -s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts. -a Use any local interface when binding data connection. -A login as anonymous. -w:buffersize Overrides the default transfer buffer size of 4096. host Specifies the host name or IP address of the remote host to connect to. Notes: - mget and mput commands take y/n/q for yes/no/quit. - Use Control-C to abort commands. 發表人 - bruce0211 於 2002/12/28 09:16:37
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-09 09:58:01 IP:218.175.xxx.xxx 未訂閱
■COMMAND LINE 模式的關機命令(XP 後才有) 重開機 (REBOOT) C:\>shutdown.exe /r /t 0 關機 C:\>shutdown.exe /s /t 0 登出 C:\>shutdown.exe /l ============================================================== 強制重開機 (REBOOT , 不管別的程式是否執行中) C:\>shutdown.exe /f /r /t 0 強制關機 C:\>shutdown.exe /f /s /t 0 強制登出 C:\>shutdown.exe /f /l
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-03-09 10:32:50 IP:218.175.xxx.xxx 未訂閱
■Internet Explorer 的命令列開關(參數) 當我由已連到公司網路的電腦 (IE 有設定 Proxy )直接透過 ADSL 播接程式播接連線後 , 連線程式會自動開啟另一個沒有設定 Proxy 的瀏覽器可透過 ADSL 上網 ; 我很好奇如何由程式控制我的 IE 要不要設定 Proxy ? 所以上網找資料 , 發現 IE 真有一些命令列下使用的開關(參數) , 但如何以程式或參數控制 IE 要不要設定 Proxy 的方法仍然沒找到 , 知道的長官再請不吝告知 □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -channelband Displays the channels folder ; IE as a Desktop Toolbar, displaying the Channels Directory of the currently logged on user. This option only applies when Active Desktop is off. IE4 only. □ C:\>IEXPLORE.EXE -e Starts Internet Explorer Help on UNIX platforms only ; Launch IE in Explorer mode (standard two pane view, My Computer on left, Content on right). □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -embedding Starts the Web browser control (no home page is displayed). □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -k Starts the browser in Kiosk or full-screen mode ; Launch IE in Kiosk mode. □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -new Launches the browser window in a new browsing process ; Start up IE in a separate process. □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -nohome Starts Internet Explorer without its home page ; Open IE and don't open any web page at all. □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -remote Starts a remote instance of Internet Explorer on UNIX platforms only. □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -slf Launch IE and connect to default home page. Loads the default home page from the cache. □ C:\>Program Files\Internet Explorer\IEXPLORE.EXE -v (also -version) Can be used to specify the version on UNIX platforms only.
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-03-09 11:02:40 IP:218.175.xxx.xxx 未訂閱
■透過批次檔執行 SQL 命令 (以 ORACLE 為例) 1.ORACLE 有個 UTILITY 叫 SQLPLUS.EXE , 是在 COMMAND LINE 環境下使用的 2.批次檔中的 ECHO 指令可將一段文字內容導向到另一文字檔案 ( '>' 是覆蓋(產生新檔) ; '>>' 是 APPEND ) 3.將要執行的 SQL 內容即時產生到 C:\TEMP.SQL 中 4.透過 SQLPLUS.EXE 的參數 , 將即時產生的 C:\TEMP.SQL "餵"給 SQLPLUS.EXE 來執行 □ RUNSQL.BAT 內容 @ECHO CONNECT sys/最高管理者密碼 AS SYSDBA; > C:\TEMP.SQL @ECHO SELECT TABLESPACE_NAME, BYTES FROM DBA_DATA_FILES WHERE TABLESPACE_NAME='SCIDX'; >> C:\TEMP.SQL @ECHO ALTER DATABASE DATAFILE 'C:\TFM\DAT\DB\SCIDX.DBF' RESIZE 1280M; >> C:\TEMP.SQL @ECHO ALTER DATABASE DATAFILE 'C:\TFM\DAT\DB\SCIDX.DBF' AUTOEXTEND ON NEXT 256M MAXSIZE 16384M; >> C:\TEMP.SQL @ECHO ALTER DATABASE DATAFILE 'C:\TFM\DAT\DB\SCDATA.DBF' AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED; >> C:\TEMP.SQL @ECHO ALTER DATABASE TEMPFILE 'C:\TFM\DAT\DB\SCTMP.DBF' AUTOEXTEND ON NEXT 128M MAXSIZE 5120M; >> C:\TEMP.SQL @ECHO SELECT TABLESPACE_NAME, BYTES FROM DBA_DATA_FILES WHERE TABLESPACE_NAME='SCIDX'; >> C:\TEMP.SQL @ECHO EXIT; >> C:\TEMP.SQL @SQLPLUS 資料庫使用者名稱/密碼 @C:\TEMP.SQL
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-03-24 14:14:50 IP:218.175.xxx.xxx 未訂閱
■臨時使用 Internet Explorer Without Proxy    1.公司網路由於安全性問題, 在公司上網時 IE 都要設定 Proxy , 否則無法上網 ; 而回到家透過一般的播接或 ADSL 網路時又要記得關掉 Proxy 否則也是無法上網 , 每天 公司<->家裏來往 , 都要在那邊將 IE 的 Proxy 改來改去    2.透過 Windows Script Host , 可輕易的解決這個問題 ; 用記事本建立一個 SCRIPT (我把它看做是一個加強型的批次檔) 放到桌面 , 點選它就幫我開啟 IE 並拿掉 Proxy 設定(在家裏用) , 而點選一般的 IE 捷徑就開啟原來已設定 Proxy 的瀏覽器 (在公司用)    3.這個 Script 是個文字檔 , 我把它看做是一個加強型的批次檔 , 可用 JAVA SCRIPT 或 VB SCRIPT 格式來撰寫 , 可存放到桌面 , 直接滑鼠點選兩下就可執行 , 目的為開啟 IE 並拿掉 Proxy 設定     
●IEwithoutProxy.js 內容 (javascript 格式)    var SW_SHOWNORMAL = 1;
var WshShell = WScript.CreateObject("WScript.Shell");    //臨時拿掉 Proxy 並上 HINET 的設定
WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable", 0, "REG_DWORD");
WshShell.Run("HTTP://WWW.HINET.NET",SW_SHOWNORMAL);    //改回上公司網路有使用 Proxy 的設定
WScript.Sleep(1000);
WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable", 1, "REG_DWORD");        ●IEwithoutProxy.vbs 內容 (vbscript 格式)    DIM WshShell, SW_SHOWNORMAL    SET WshShell = WScript.CreateObject("WScript.Shell")
SW_SHOWNORMAL = 1    '臨時拿掉 Proxy 並上 HINET 的設定
WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 0, "REG_DWORD"
WshShell.Run "HTTP://WWW.HINET.NET",SW_SHOWNORMAL    '改回上公司網路有使用 Proxy 的設定
WScript.Sleep 1000
WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"     
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-04-06 15:24:32 IP:211.21.xxx.xxx 未訂閱
■ 以 COMMAND LINE 修改某個服務的啟動狀態 □ 將 Routing and Remote Access 服務啟動類型改為 "自動" c:\>sc config RemoteAccess start= auto 註 : 其實是修改機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Start = 2 □ 將 Routing and Remote Access 服務啟動類型改為 "手動" c:\>sc config RemoteAccess start= demand 註 : 其實是修改機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Start = 3 □ 將 Routing and Remote Access 服務啟動類型改為 "停用" c:\>sc config RemoteAccess start= disabled 註 : 其實是修改機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Start = 4 □ 觀看目前 Routing and Remote Access 服務設定值 c:\>sc qc RemoteAccess
oioio2
一般會員


發表:0
回覆:11
積分:2
註冊:2004-09-08

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-06-10 13:51:32 IP:218.172.xxx.xxx 未訂閱
從PC/XT 時代開始接觸DOS的人而言, 對command line mode 都有充分的熟悉與特殊的情感。 想不到欄主在Windows時代還能深入了解, 並且善用command line mode, 真是深感佩服。 其實如果能夠善用command line mode, 很多功能就可以利用現有指令完成, 不必再去手忙腳亂查Win32 API, 省事又方便。
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-06-22 22:17:18 IP:59.120.xxx.xxx 未訂閱
其實研究 command line mode 是不得已的 當你的客戶有 1,700 家店舖時 有些設定需要改變 GUI 雖很好用 你不可能一家一家店用遠端遙控連進去 然後開啟 GUI 工具修改設定 你只能將所有能用的 command line 絕招寫成自動執行檔 一次灑下去(通常有數量龐大的 CLIENT 端都會有這種機制) 讓它們在一夜之間變換設定 使用 command line mode 非標新立異也 是不得不為也 ....
系統時間:2024-03-29 20:48:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!