﻿# 如何在 Windows 命令提示字元下使用 Linux 常見的 touch 命令

以前在用 Linux 的時候，有個很常用也很好用的 [touch](https://en.wikipedia.org/wiki/Touch_\(Unix\)) 指令，他可以幫我快速建立一個空檔案，或是將現有檔案的修改時間改成目前時間，正如指令名稱 "touch" 一下，代表有人碰過了這個檔案。不過在 Windows 命令提示字元下，一直都沒有這個命令可用，每次要建立空檔案都會覺得有點麻煩，所以我剛剛寫了一支小程式，讓大家在 Windows 環境下都可以使用 touch 命令。

首先，請先用 **記事本** (Notepad) 建立一個名為 **touch.cmd** 的檔案，檔案內容如下：

> @ECHO OFF
> 
> IF EXIST %1 (  
>     COPY /B %1+,, %1 >nul  
> ) ELSE (  
>     echo. 2>%1  
> )

這只是一個很簡單的批次檔，只要將該檔案透過檔案總管複製到 C:\\Windows\\System32 目錄下即可。

下圖示範更新檔案修改時間的過程，用法很簡單，就是 **touch 檔名** 即可：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ef7953f2db200c1f8414-image_3022.png)

下圖是示範如何建立一個空檔案，也是 **touch** 加上一個任意**檔名副檔名**即可！

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/3f93fbdffadde9b35f52-image_3023.png)

**※ 注意事項 ※**

-   我這個批次檔不像 Linux 版本的 [touch](https://en.wikipedia.org/wiki/Touch_\(Unix\)) 有那麼多參數可用，這個 touch.cmd 就只能建立空檔案與更新檔案修改時間而已。
-   要在 Windows 擁有完整的 touch 命令，可以考慮下載與安裝 [touch for Windows](https://web.archive.org/web/20190202230823/http://www.binarez.com/touch_dot_exe/) 工具 ( [Source code](https://web.archive.org/web/20150616064721/http://www.binarez.com/touch_dot_exe/touch.exe-src-0.99.zip) )。

**相關連結**

-   [touch (Unix) - Wikipedia](https://en.wikipedia.org/wiki/Touch_\(Unix\))
-   [Copy - TechNet (Command-line reference A-Z)](https://technet.microsoft.com/en-us/library/bb490886.aspx)
-   [file attributes - Windows equivalent of the Linux command 'touch'? - Super User](http://superuser.com/questions/10426/windows-equivalent-of-the-linux-command-touch/764716)
-   [command line - How to create empty text file from a batch file? - Stack Overflow](http://stackoverflow.com/questions/210201/how-to-create-empty-text-file-from-a-batch-file)
