Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

? 發問於 電腦與網際網路軟體 · 6 年前

cmd 用taskkill 只關閉一個檔

在cmd輸入taskkill /f /im excel.exe

會關閉所有excel檔

但我只想關閉其中一個名為data1.xls的檔

該怎麼下指令呢?

求高手!

3 個解答

評分
  • ?
    Lv 5
    6 年前
    最愛解答

    怎會忽然被點名了呢?我不是高手啊~

    這題說來話長,先看看有沒有高手要跳出來回答囉

    2015-04-04 03:55:03 補充:

    首先說明一下:taskkill (或工作管理員) 是以 process (處理程序) 為單位來操作的。

    我們執行一個 Excel.exe 就算是一個 process。

    但 *.xls 它只是個檔案,不是 process;它需要靠 Excel 來開啟。

    所以 taskkill (或工作管理員也一樣) 只能結束 Excel,不能關閉 *.xls。(註)

    接下來談談開啟 *.xls 的方式,大致上分成下列兩種:

    一:用「雙擊」的方式開啟。(大多數人應該都是這樣用的吧~)

      當我們雙擊第一個 *.xls 時,系統會先執行一個 Excel (process),

      然後叫它載入(或開啟)這個 xls 檔。

      但是當我們雙擊第二個(或以上) *.xls 時,因為已經執行過 Excel 了,

      所以不必再執行一次,而是直接用它去載入(或開啟)後續的 xls 檔。

      也就是說,所有用雙擊方式開啟的 *.xls 檔都屬於同一個 Excel (process) 所管的。

    二:從「開始」(或 cmd) 那邊去執行 Excel,再「開啟舊檔」。

      這種方式會開出另一個新的 Excel (process)。很顯然地,

      從這裡用「開啟舊檔」所開啟的 *.xls 檔都屬於這一個 Excel (process) 所管的。

    綜合上面所述,由於作業系統只會管到 process,而不會知道 process 內部在做什麼,

    所以要透過作業系統來結束工作的話,只能以 process 為單位來結束。

    例如下圖中的 Excel 開了兩個檔案 (data1.xls、data2.xls),

    一旦結束此 Excel 的話,兩個檔案必定一起被關閉。(會不會出錯不敢保證)

    好,既然作業系統管不到 Excel 內部的話,那誰管得到呢?當然就是 Excel 自己囉!

    幸好 Excel 的功能夠強,它有提供一些方式可以讓您單獨關閉一個檔案,

    但這就需要寫一點程式了,像是 VBA、或 JavaScript 等都可以,例如在 VBA 中可以用:

    Application.Workbooks("data1.xls").Close

    來關閉指定的檔案,但寫程式要考慮的東西比較多,詳細內容就恕不在此討論了。

    註:新版的 Excel 會把每個已開啟的 *.xls 檔做得「看起來」像是一個個獨立執行的樣子,

    不管是從工作列或工作管理員來看都像那樣,但其實並不是那樣的。

    但請仔細看一下工作管理員「應用程式」中的小圖示,

    代表 Excel 與代表 *.xls 的小圖示是有些不一樣的。

    圖片參考:https://s.yimg.com/rk/AD06573872/o/621540967.png

    或許換個顯示方式會比較容易看得出來 Excel 與其所管理的 *.xls 檔案之間的關係:

    圖片參考:https://s.yimg.com/rk/AD06573872/o/488435361.png

    而「工作管理員」比 taskkill.exe 稍微強一點點的地方在於:

    若是從工作管理員的應用程式中去結束某個 *.xls 的話,

    它會先去找到其所屬的 Excel (process),然後再把這個 process 結束掉。

    這一點 taskkill 是做不到的。

    以上回答希望對您有幫助!

  • ?
    Lv 6
    6 年前

    這個指令是做不到您所要求的

    因為它就只能關閉『處理程序』

    參考一下他人提供的使用教學吧

    http://catchtest.pixnet.net/blog/post/22126407-tas...

    http://www.dotblogs.com.tw/chou/archive/2012/01/14...

  • ?
    Lv 7
    6 年前

    只好等高手

    退隱江湖 ( 研究生 4 級 )

    來回答了!!

還有問題嗎?立即提問即可得到解答。