命令列模式指令在Window環境下的應用(含批次檔) |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
■ 由批次檔方式建立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 發送簡訊給我 |
■ 由批次檔方式初始化 某一 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 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
■由 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 發送簡訊給我 |
■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 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
■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 發送簡訊給我 |
■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 發送簡訊給我 |
■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 發送簡訊給我 |
■透過批次檔執行 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 發送簡訊給我 |
■臨時使用 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 發送簡訊給我 |
■ 以 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 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |