##title##

顯示具有 軟體 | DOS 標籤的文章。 顯示所有文章
顯示具有 軟體 | DOS 標籤的文章。 顯示所有文章

2015年2月27日

DOS:robocopy

用於適合大量複製檔案的dos指令。

可參考:http://pcuser.pixnet.net/blog/post/27305268


以下為程式自身說明:
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

       簡單使用方式 :: ROBOCOPY source destination /MIR

             source :: 來源目錄 (drive:\path 或 \\server\share\path)。
        destination :: 目的地目錄  (drive:\path 或 \\server\share\path)。
               /MIR :: 鏡像完整的樹狀目錄。

    如需有關使用方式的詳細資訊,請執行 ROBOCOPY /?

****  /MIR 可以刪除檔案以及複製檔案!

-------------------------------------------------------------------------------

              使用方式 :: ROBOCOPY source destination [file [file]...] [options]

             source :: 來源目錄 (drive:\path 或 \\server\share\path)。
        destination :: 目的地目錄  (drive:\path 或 \\server\share\path)。
               file :: 要複製的檔案  (名稱/萬用字元: 預設值是 "*.*")。

::
:: 複製選項 :
::
                 /S :: 複製子目錄,但是空的子目錄例外。
                 /E :: 複製子目錄,包括空的子目錄。
             /LEV:n :: 只複製來源目錄的前 n 層。

                 /Z :: 在可重新啟動模式複製檔案。
                 /B :: 在備份模式複製檔案。
                /ZB :: 使用可重新啟動模式; 如果拒絕存取,則使用備份模式。
            /EFSRAW :: 在 EFS RAW 模式複製所有加密檔案。

  /COPY:copyflag[s] :: 要為檔案複製什麼內容 (預設值是 /COPY:DAT)。
                       (複製旗標: D=資料、A=屬性、T=時間戳記)。
                       (S=安全性=NTFS ACL、O=擁有者資訊、U=稽核資訊)。

           /DCOPY:T :: 複製目錄時間戳記。

               /SEC :: 複製包含安全性的檔案 (相當於 /COPY:DATS)。
           /COPYALL :: 複製所有檔案資訊 (相當於 /COPY:DATSOU)。
            /NOCOPY :: 不複製檔案資訊 (可用於 /PURGE)。

            /SECFIX :: 修正所有檔案的安全性,即使略過的檔案也包含在內。
            /TIMFIX :: 修正所有檔案的檔案時間,即使略過的檔案也包含在內。

             /PURGE :: 刪除來源已經不存在的目的地檔案/目錄。
               /MIR :: 鏡像樹狀目錄 (相當於 /E 加 /PURGE)。

               /MOV :: 移動檔案 (複製後從來源刪除)。
              /MOVE :: 移動檔案和目錄 (複製後從來源刪除)。

     /A+:[RASHCNET] :: 將指定的屬性新增至複製的檔案。
     /A-:[RASHCNET] :: 從複製的檔案移除指定的屬性。

            /CREATE :: 只建立樹狀目錄和長度為零的檔案。
               /FAT :: 只使用 8.3 FAT 檔案名稱,建立目的地檔案。
               /256 :: 關閉特長路徑 (> 256 個字元) 支援。

             /MON:n :: 監視來源; 看到 n 個字元以上時再次執行。
             /MOT:m :: 監視來源; m 分鐘後如果變更,則再次執行。

      /RH:hhmm-hhmm :: 執行時數 - 新複本可以開始的時間。
                /PF :: 根據每一個檔案為基礎,檢查執行時數 (不是根據每一次通過)。


             /IPG:n :: 慢速線路可用頻寬,封包之間的差距 (毫秒)。

                /SL :: 複製符號連結與目標。

            /MT[:n] :: 以 n 個執行緒執行多執行緒複製 (預設值為 8)。
                       n 必須至少為 1,但不可以大於 128。
                       此選項與 /IPG 和 /EFSRAW 選項不相容。
                       使用 /LOG 選項重新導向輸出,以獲得更好的效能。

::
:: 檔案選取選項 :
::
                 /A :: 只複製已設定保存屬性的檔案。
                 /M :: 只複製包含保存屬性的檔案並重設。
    /IA:[RASHCNETO] :: 只包含附帶任何指定屬性的檔案。
    /XA:[RASHCNETO] :: 排除附帶任何指定屬性的檔案。

 /XF file [file]... :: 排除符合指定名稱/路徑/萬用字元的檔案。
 /XD dirs [dirs]... :: 排除符合指定名稱/路徑的目錄。

                /XC :: 排除變更的檔案。
                /XN :: 排除較新的檔案。
                /XO :: 排除較舊的檔案。
                /XX :: 排除其他檔案和目錄。
                /XL :: 排除孤立的檔案和目錄。
                /IS :: 包含相同的檔案。
                /IT :: 包含調整的檔案。

             /MAX:n ::檔案大小上限 - 排除大於 n 個位元組的檔案。
             /MIN:n :: 檔案大小下限 - 排除小於 n 個位元組的檔案。

          /MAXAGE:n :: 檔案期限上限 - 排除 n 日/日期之前的檔案。
          /MINAGE:n :: 檔案期限下限 - 排除 n 日/日期之後的檔案。
          /MAXLAD:n :: 上次存取日期上限 -排除自 n 日後未使用的檔案。
          /MINLAD:n :: 上次存取日期下限 - 排除自 n 日後使用的檔案。
                       (如果 n < 1900 則 n = n 日,否則 n = YYYYMMDD 日期)。

                /XJ :: 排除交叉點。(一般會預設包含)。

               /FFT :: 使用 FAT 檔案時間 (2 秒精細度)。
               /DST :: 補償 1 小時 DST 時差。

               /XJD :: 排除目錄的交叉點。
               /XJF :: 排除檔案的交叉點。

::
:: 重試選項:
::
               /R:n :: 失敗複本的重試次數: 預設值是 1 百萬次。
               /W:n :: 重試之間等候時間: 預設值是 30 秒。

               /REG :: 將 /R:n 和 /W:n 儲存至登錄中,變成預設值。

               /TBD :: 等候共用名稱。即將定義 (重試錯誤 67)。

::
:: 記錄選項:
::
                 /L :: 限清單 - 不複製、刪除任何檔案或加上戳記。
                 /X :: 報告所有其他檔案,不僅是這些選取的檔案而已。
                 /V :: 產生詳細資訊輸出,顯示略過的檔案。
                /TS :: 在輸出中包含來源檔案時間戳記。
                /FP :: 在輸出中包含檔案的完整路徑名稱。
             /BYTES :: 將大小列印成位元組。

                /NS :: 沒有大小 - 不記錄檔案大小。
                /NC :: 沒有類別 - 不記錄檔案類型。
               /NFL :: 沒有檔案清單 - 不記錄檔案名稱。
               /NDL :: 沒有目錄清單 - 不記錄目錄名稱。

                /NP :: 無進度 - 不顯示複製百分比。
               /ETA :: 顯示複製的檔案預估到達時間。

          /LOG:file :: 輸出狀態至記錄檔 (覆寫現有的記錄檔)。
         /LOG+:file :: 輸出狀態至記錄檔 (附加至現有的記錄檔)。

       /UNILOG:file :: 輸出狀態至記錄檔,變成 UNICODE (覆寫現有的記錄檔)。
      /UNILOG+:file :: 輸出狀態至記錄檔,變成 UNICODE (附加至現有的記錄檔)。

               /TEE :: 輸出至主控台視窗,以及記錄檔。

               /NJH :: 沒有工作標頭。
               /NJS :: 沒有工作摘要。

           /UNICODE :: 輸出狀態為 UNICODE。

::
:: 工作選項:
::
       /JOB:jobname :: 從命名的工作檔案取得參數。
      /SAVE:jobname :: 將參數儲存至命名的工作檔案
              /QUIT :: 處理命令列後結束 (檢視參數)。
              /NOSD :: 未指定來源目錄。
              /NODD :: 未指定目的地目錄。
                /IF :: 包含以下檔案。

2012年4月26日

DOS:at指令

用來設定關電腦時間很方便,例如:

at 1:00 shutdown /s /t 5

代表在1:00時執行「shutdown /s /t 5」,也就是1:00起,5秒後開始關電腦。

如果 at 已有有任務的時候,輸入 at 就可以知道目前排程的任務還有哪些。


at 指令說明

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername
指定遠端電腦。
如果省略這個參數,命令會被排定在本機上執行。

id
指定給排定時程命令的識別碼。

/delete
刪除某個已排程的命令。如果省略 id,所有電腦上已排程的命令都會被刪除。

/yes
用於刪除所有已排程的工作,且不想在執行刪除時顯示確認訊息使用。

time
指定命令執行的時間。將時間以 24 小時標記(00:00 [午夜] 到 23:59)的方式表示為小時:分鐘。

/interactive
允許工作在執行時,與當時登入的用戶互動。

/every:date[,...]
指定在每週或每月的某日(例如,每個星期四,或每月的第三天)執行命令,用逗號分隔多個日期項。
如果省略日期,則預設為在每月的本日執行。
將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。
                 

/next:date[,...]
指定在下一次的指定日期 (如,下週三) 時,執行命令,用逗號分隔多個日期項。
如果省略日期,則預設為在每月的本日執行。
運行指定命令將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。


"command"
準備執行的 Windows NT 命令或批次檔。
當命令需要路徑作為參數時,請使用絕對路徑。
如果命令在遠端電腦上,請指定服務器和共享名的 UNC 符號,而不是遠程驅動器號。
如果命令不是可執行 (.exe) 文件,必須在命令前加上 cmd /c,例如:cmd /c dir > c:\test.out

2012年1月21日

DOS:attrib批次恢復檔案屬性

有時候如果中毒,所有資料夾和檔案都變隱藏檔,雖然在windows下對資料夾或檔案按右鍵,選擇內容就可以恢復,但如果像是透過「讓資料夾圖示跟著資料夾跑」這篇這樣,電腦裡已經修改了大量資料夾或檔案,改起來可就比較麻煩了。

這時候可以透過dos指令attrib來完成大量的作業。

windows+r
cmd


rem 將所有資料夾與檔案屬性改為顯示
attrib –h C:\*.* /s /d
rem 將名為icon的資料夾屬性改為隱藏
attrib +h icon /s /d


attrib /?
顯示或變更檔案屬性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
       [drive:][path][filename] [/S [/D] [/L]]

  +   設定屬性。
  -   清除屬性。
  R   唯讀檔案屬性。
  A   保存檔案屬性。
  S   系統檔案屬性。
  H   隱藏檔案屬性。
  I   非內容索引檔案屬性。
  [drive:][path][filename]
      指定一或多個檔案給 attrib 處理。
  /S  處理目前的資料夾及所有子資料夾中相符的檔案。
  /D  一併處理資料夾。
  /L  處理符號連結的屬性,而非符號連結的目標。


另外也可以透過批次檔的方式,批次檔可以有其他更靈活的做法。

2011年12月25日

簡易的用cmd偽裝檔案為圖檔的方式

cmd

copy /b 圖檔路徑+壓縮檔路徑 輸出路徑

用這個方式可以騙過一些圖片站點,放一些小檔案供人下載。

可參考: [禁斷秘技] 檔案偽裝術 第一篇 - 利用DOS指令製作偽裝檔

2011年12月3日

DOS:copy檔案含日期或時間

可以透過 date /t把日期抽取出來當變數,然後copy檔案時可以把抽出來的變數當檔名。範例如下:

for /f "tokens=1-4 delims=-/ " %%i IN ('date /t') DO (
set year=%%i
set month=%%j
set day=%%k
)
copy "C:\a\test.txt" "C:\b\%year%%month%%day%_test.txt"

這樣存的檔名前面就可以自動帶上日期了。

關於時間的話可參考:如何在 Batch 檔取得系統的日期、時間欄位

2011年10月20日

DOS:用 dir 輸出 Unicode 指令

一般執行 dir 顯示 Unicode 正常。

但輸出時如果遇上 Unicode 檔名的話,例如:

dir > dir.txt

會變成問號檔名。


但用 cmd 的 /u 指令就可以解決了,範例:

cmd /u /c dir/s/b > test.txt
(不過是ULE格式,要用類似 Notepad++ 的軟體才能看,npp.5.7.bin的可以,更新版的不知道為何就不行)

2010年8月27日

DOS:xcopy 參數

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
[/EXCLUDE:file1[+file2][+file3]...]

source 指定要複製的檔案。
destination 指定新檔案的位置和/或名稱。

/A 只複製已設定保存屬性的檔案,不改變屬性。

/M 只複製已設定保存屬性的檔案,並關閉保存屬性。

/D:m-d-y 複製在指定日期當天或之後發生變更的檔案。
如果沒有指定日期,只複製來源檔案時間比目的地時間為新的檔案。

/EXCLUDE:file1[+file2][+file3]...
指定包含字串的檔案清單。每個字串應該在檔案中的不同行。如果有任何字串對應到要進行複製的檔案之絕對路徑的任何部分,這個檔案會被排除複製。
例如,指定字串 \obj\ 或 .obj,將會排除 obj 目錄下的所有檔案,或副檔名是 .obj 的所有檔案。

/P 在建立每個目的地檔案前顯示提示。

/S 複製每個目錄及子目錄,但空目錄除外。

/E 複製每個目錄及子目錄,包含空目錄。
與 /S /E 相同。可用來修改 /T。

/V 檢查每個新檔案的大小。

/W 在複製之前提示您按鍵。

/C 即使發生錯誤,仍繼續複製。

/I 如果目的地不存在且複製一個以上的檔案,即假設該目的地必然是目錄。

/Q 複製時不顯示檔名。

/F 複製時顯示來源及目的地檔案的完整檔名。

/L 顯示要複製的檔案。

/G 允許將加密檔案複製到不支援加密的目的地。

/H 同時複製隱藏檔案和系統檔案。

/R 覆寫唯讀檔案。

/T 建立目錄結構,但不複製其中的檔案。不包括空目錄或子目錄。
/T /E 則包含空目錄及子目錄。

/U 只複製已存在於目的地的檔案。

/K 複製屬性。一般 Xcopy 將會重設唯讀屬性。

/N 使用產生的簡短檔名進行複製。

/O 複製檔案所有權及 ACL 資訊。

/X 複製檔案稽核設定 (隱含 /O)。

/Y 不要提示您確認是否要覆寫已存在的目的地檔案。

/-Y 提示您確認是否要覆寫已存在的目的地檔案。

/Z 在可重新啟動的模式中複製網路檔案。

/B 複製符號連結本身而非連結的目標。

/J 使用無緩衝的 I/O 複製,建議使用於非常大的檔案。

切換參數 /Y 可以在 COPYCMD 環境變數中預先設定。
這可以在命令列中使用 /-Y 加以覆寫。