注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

Dos Command基礎篇  

2009-10-18 13:45:03|  分类: DOS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

echo 和 @                             顯示訊息,或切換命令回應的開啟狀態

 @      #关闭单行回显
 @echo off      #从本行开始关闭回显。一般批处理第一行都是这个
 echo on       #从下一行开始打开回显
 echo off    #从下一行开始关闭回显
 echo      #显示当前是 echo off 状态还是 echo on 状态
 echo.       #输出一个"回车换行",一般就是指空白行
 echo hello world    #输出hello world
   


"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果。批处理开始和结束时,系统都会自动打开回顯 。

  • errorlevel程序返回碼

echo %errorlevel%每個命令運行結束,可以用這個命令行格式查看返回碼,用於判斷剛才的命令是否執行成功默認值為0,一般命令執行出錯會設 errorlevel 為1

  • dir顯示目錄中的文件和子目錄列表

 dir or dir.      #顯示當前目錄中的文件和子目錄
 dir /a        #顯示當前目錄中的文件和子目錄,包括隱藏文件和系統文件
dir *.exe /s 顯示當前目錄和子目錄裡所有的.exe文件其中 * 是通配符,代表所有的文件名,還有一個通配符 ? 代表一個任意字母或漢字
 dir ..      ..表示上一層的目錄
 /q  顯示檔案擁有者
 /P  當資料塡滿整個螢幕時暫停顯示
 /O 依照指定的排序順序列出檔案N:依名稱S:依大小E:依擴展名D:依照日期與時間G:先列出子目錄-:表示相反的順序
 /T

 指定用來顯示或排序的時間欄位C:建立 A:上次檔案存取時間 W:上次寫入檔案時間

Dos Command基礎篇 - Y偉 - chunwaihome 的博客

我們以C:\temp\readme.txt作例子

執行dirdir/t:w命令顯示檔案的修改日期(2008/07/03)

執行dir /t:c命令顯示檔案的建立日期(2009/12/25)

執行dir /t:a命令顯示檔案的存取日期(2010/2/15)

 

   
   

  • cd更改當前目錄(Change Directory)

 cd mp3     #進入當前目錄中的mp3 目錄
 cd ..     #進入當前目錄中的上級目錄
 cd\  #進入根目錄
 cd        #顯示當前目錄
 cd /d d:\mp3    #可以同時更改盤符和目錄,需要留意cd d:\mp3 這命令是不通的。
 cd "Documents and Settings"All users  文件名帶空格,路徑前需要加上双引號,如果更改到的目錄不存在,則出錯返。Windows xp不需双引號亦能切換文件夾。
   

  • md創建目錄(Make Directory)

 md abc       #在當前目錄裡建立子目錄abc
 md d:\abc     #如果d:\a文件夾不存在的話,將會自動創建
   

  • rd刪除目錄(Remove Directory)

 rd abc   #刪除當前目錄裡的 abc 子目錄,要求為空目錄
 rd /s/q d:\temp   #刪除d:\temp 文件夾及其子文件夾和文件,/Q為安靜模式,/S為一拼移除目錄裏的所有檔案包括子目錄,而且所刪檔案不會被移到資源回收站。
   

  • del刪除文件(delete)

 del d: \test.txt     刪除指定文件,不能是隱藏、系統、唯讀文件
 del *.*  刪除當前目錄裡的所有文件,不包括隱藏、系統、只讀文件,要求按Y 確認
 del /q/a/f/s d:\temp*.*  刪除d: \temp 及子文件夾裡面的所有文件,包括隱藏、只讀、系統文件,不包括子目錄。/Q為安靜模式/F強制刪除唯讀檔案/S為一拼移除目錄裏的所有檔案包括子目錄,而且所刪檔案不會被移到資源回收站。/a是顯示當前目錄中的文件和子目錄,包括隱藏文件和系統文件
   
   

  • ren文件重命名(Rename)

 ren 1.txt 2.bak  #把1.txt 更名為 2.bak 
 ren *.txt *.ini    #把當前目錄裡所有.txt文件改成.ini文件
 ren d:\temp tmp   #把d:\temp重新命名為tmp,ren d:\temp d:\tmp這語法是錯的
 ren temp tmp   #把當前目錄名稱temp改為tmp
   
 

  •  cls(Clean Screen)清除屏幕上的顯示資料
  • type顯示文件內容

 type c:\boot.ini    #顯示指定文件的內容,如果檔案型式不是ASCII,而是*.com,*.exe,*.obj的檔案時,則會顯示一些看不懂的字完。
 type *.txt   #顯示當前目錄裡所有.txt文件的內容,而文件名稱還支持中文的。
   

  • copy拷貝文件

copy c:\test.txt d:\  複製 c:\test.txt 文件到 d:\
copy /v c:\test.txt d:\test.bak  複製 c:\test.txt 文件到 d:\ ,並重命名為test.bak。/V可查驗在複製過程中是否正確寫入
 copy c:*.*  複製c: 所有文件到當前目錄,不包括隱藏文件和系統文件不指定目標路徑,則默認目標路徑為當前目錄
copy con test.txt

從屏幕上等待輸入,按 Ctrl+Z 結束輸入,輸入內容存為test.txt文件con代表屏幕,prn代表打印機,而原本文本的內容將被取代。

註:Echo XXX test.txt命令亦可以寫入內容到test.txt檔案中。

copy 1.txt + 2.txt 3.txt  合併 1.txt 和 2.txt 的內容,保存為 3.txt 文件如果不指定 3.txt ,則保存到 1.txt



copy test.txt +複製文件到自己,實際上是修改了文件日期

我們已經學過複製文件,但你們知道磁盤也可以複製嗎?好,這節就講這個東東,diskcopy,翻譯成中文就是磁盤複製。所謂複製磁盤就是複製出一個和原來磁盤內容一模一樣的磁盤,其實和複製文件也差不多。

  • DiskCopy

語法:diskcopy 源驅動器名 目的驅動器名

举个例子来说,如果要在A驱动器上复制磁盘,就输入:diskcopy a: a: (奇怪吧,哪来两个A盘,且看下文电脑是如何理解的)。

  输入diskcopy a: a:命令后回车,电脑提示让你插入源盘

输入命令diskcopy a: a:

  插入磁盘后,随便敲一个键,计算机就开始读源盘上的内容,

提示信息

  读完原盘后,电脑会叫你插入插入磁盘,原来电脑是这样理解两个A盘的,把原盘取出,再插入要写的磁盘,呵呵,还有够聪明的。

提示信息:插入要写的磁盘

  换完盘后,按任意键,计算机开始向磁盘上写入源盘的内容。

提示:是否再复制一张和源盘一样的磁盘

  写完之后,计算机会问你是否再复制一张和源盘一样的磁盘,如果你不想复制,敲入N;

提示:是否进行另一张磁盘的复制工作

  这时计算机会再问你是否进行另一张磁盘的复制工作(还真够烦的,啰啰嗦嗦),如果没有其它磁盘需要复制,键入N。

  有个小问题提醒你注意,如果你有两个驱动器,当然可以不这样靠替换磁盘的手段,可以直接用diskcopy a: b:,一次把工作做完,不过有个前提,就是你的两个驱动器的规格必须是一样的。  

  最后大家肯定要问,这命令有啥用啊,其实也很简单,它的主要用途就是用来备份。比如我们的电脑在刚买来时,会随机附带一些设备驱动程序磁盘,这些驱动程序在以后都有可能用到,为防止这些磁盘的损坏,一定要将它们都备份一套,这时,使用diskcopy命令是比较快捷和方便的

  •  title設置cmd窗口的標題


title 新標題        #可以看到cmd窗口的標題欄變了

  • ver顯示系統版本
  • label 和 vol設置卷標

 vol           #顯示卷標
 label        #顯示卷標,同時提示輸入新卷標
 label c:system       #設置C盤的卷標為 system

        

  •  pause暫停命令


運行該命令時,將顯示下面的消息:請按任意鍵繼續 . . .
一般用於看清楚屏幕上顯示的內容

  • rem 和 ::註釋命令
    註釋行不執行操作
  • date 和 time日期和時間

 date      #顯示當前日期,並提示輸入新日期,按"回車"略過輸入
 date/t     #只顯示當前日期,不提示輸入新日期
 time        #顯示當前時間,並提示輸入新時間,按"回車"略過輸入
 time/t     #只顯示當前時間,不提示輸入新時間
   

  • goto 和 :跳轉命令

 :label    #行首為:表示該行是標籤行,標籤行不執行操作
 goto label   #跳轉到指定的標籤那一行

  • find (外部命令)查找命令

 find "abc" c:\test.txt  在 c:\test.txt 文件裡查找含 abc 字符串的行如果找不到,將設 errorlevel 返回碼為1
 find /i "abc" c:\test.txt  查找含abc 的行,忽略大小寫
 find /c "abc" c:\test.txt 顯示包含abc 的行的行數
 find /v "abc" c:\t est.txt  顯示不包含abc的行數

  • more (外部命令)其功能可令檔案內容,一次顯示一個畫面於屏幕上,接著暫停下來,並顯示--more--訊息提示。

 more c:\test.txt   #逐屏顯示 c:\test.txt 的文件內容
 type c:\test.txt|more  結果和more c:\test.txt 是一樣的

  • tree顯示目錄結構
    tree  /F d: \           #顯示D盤的文件目錄結構,/F參數可顯示根目錄下的子目錄和檔案。

Dos Command - Y偉 - chunwaihome 的博客

  •  &順序執行多條命令,而不管命令是否執行成功
    c: & cd & dir /w相當於把下面3行命令寫到1行去了c:cddir /w

 

  • &&順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令

 f: && cd && dir >c: est.txt  注意如果f盤不存在,那麼後面2條命令將不會執行
find "ok" c:\test.txt && echo  成功如果找到了"ok"字樣,就顯示"成功",找不到就不顯示
   
   

  •  ||順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令

find "ok" c: est.txt || echo 不成功如果找不到"ok"字樣,就顯示"不成功",找到了就不顯示

  •  |管道命令

前一個命令的執行結果輸出到後一個命令
dir *.* /s/a | find /c ".exe"管道命令表示先執行dir 命令,對其輸出的結果執行後面的 find 命令該命令行結果:

輸出當前文件夾及所有子文件夾裡的.exe文件的個數

  • > 和 >>輸出重定向命令

 

 >  清除文件中原有的內容後再寫入,如果 指定文件不存在,則自動生成該文件
 >>  追加內容到文件末尾,而不會清除原有的內容主要將本來顯示在屏幕上的內容輸出
 echo hello world>c:\test.txt 生成c: \test.txt文件,內容為hello world,這個格式在批處理文件裡用得很多
   

  • <从文件中获得输入信息,而不是从屏幕上


一般用于 date time label 等需要等待输入的命令
@echo offecho 2005-05-01>temp.txtdate <temp.txtdel temp.txt,这样就可以不等待输入直接修改当前日期

 

  评论这张
 
阅读(591)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017