Discussion:
請問如何寫出一個不需詢問使用者而直接刪檔的bat檔?
(时间太久无法回复)
reminder1
2006-03-19 09:09:31 UTC
Permalink
若用del寫,在刪檔前好像會問使用者"是否確定"之類的,且要按y才有可能執行刪除動作,

請問各位高手先進,不知有無辦法可免去這個步驟,只要一執行bat檔就直接執行刪除動作?

還望高手先進們不吝解答,感謝..

--
┌─────◆KKCITY◆─────┐ ◢ ◤ 聽 KKBOX,動態歌詞緊緊跟著你
│ bbs.kkcity.com.tw │ \^_^ /  ★ http://www.kkbox.com.tw ★
└──《From:202.132.215.101 》──┘   ◤ 唱片公司授權,音樂盡情下載
--
沼田 俊
2006-03-20 02:06:06 UTC
Permalink
Post by reminder1
若用del寫,在刪檔前好像會問使用者"是否確定"之類的,且要按y才有可能執行刪除動作,
請問各位高手先進,不知有無辦法可免去這個步驟,只要一執行bat檔就直接執行刪除動作?
還望高手先進們不吝解答,感謝..
del 需要問 y/n ,只限於 del *.* ,其他都不需要

要讓 del 不需要看到自己打 y ,你可以用外部匯入方式

先做出一個文字檔(個人是取名 "yes")

檔案內容為
========
Y

========
(就是文字檔內只有一個 y ,然後敲一兩下 enter 便存檔)

然後batch file 指令打

del *.* < yes

這樣就可以做到你想要的功能了.
--
※ Origin: 交大資工鳳凰城資訊站 <bbs.csie.nctu.edu.tw> 
◆ From: 61.60.127.24
2006-03-20 04:31:00 UTC
Permalink
Post by 沼田 俊
Post by reminder1
若用del寫,在刪檔前好像會問使用者"是否確定"之類的,且要按y才有可能執行刪除動作,
請問各位高手先進,不知有無辦法可免去這個步驟,只要一執行bat檔就直接執行刪除動作?
還望高手先進們不吝解答,感謝..
del 需要問 y/n ,只限於 del *.* ,其他都不需要
要讓 del 不需要看到自己打 y ,你可以用外部匯入方式
先做出一個文字檔(個人是取名 "yes")
檔案內容為
========
Y
========
(就是文字檔內只有一個 y ,然後敲一兩下 enter 便存檔)
然後batch file 指令打
del *.* < yes
這樣就可以做到你想要的功能了.
上述的方法有問題
當刪除到 yes 本身的檔案的話, 會因為 yes 本身正在使用中出現錯誤訊息
除非 yes 的檔案不在同一個目錄中
要刪除全部又要自動回答 y 的話, 可以下這樣的指令:
echo y | del.

--
◤◥ Origin:  幽谷˙反地球聯邦組織  aeug.twbbs.org 
◣◢ Author: hdk 從 202-178-130-150.cm.dynamic.apol.com.tw 發表
沼田 俊
2006-03-20 09:32:52 UTC
Permalink
Post by 空
上述的方法有問題
當刪除到 yes 本身的檔案的話, 會因為 yes 本身正在使用中出現錯誤訊息
除非 yes 的檔案不在同一個目錄中
echo y | del.
當然是在外部檔案,而且看要放哪邊...寫的人自己決定就好.

用 echo 也不無可以,但是容易照成看得人無法一看便知....



--
※ Origin: 交大資工鳳凰城資訊站 <bbs.csie.nctu.edu.tw> 
◆ From: 61.60.127.24
唯DVI是圖 ̄▽ ̄
2006-03-20 14:13:45 UTC
Permalink
Post by reminder1
若用del寫,在刪檔前好像會問使用者"是否確定"之類的,且要按y才有可能執行刪除動作,
請問各位高手先進,不知有無辦法可免去這個步驟,只要一執行bat檔就直接執行刪除動作?
還望高手先進們不吝解答,感謝..
deltree /y
--
我也很討厭囉唆的軟體 too.

石室詩士施氏,嗜獅,嗜食十獅。氏時時適市視獅,十時,氏適市,適十獅適市。
是時,氏視是十獅,恃十石矢勢,使是十獅逝世。
氏拾是十獅屍,適石室。石室食時,始識是十獅,實十石獅。試釋是事。
原作: 語文學家趙元任 "石室施氏".

--
◤◥ Origin:  幽谷˙反地球聯邦組織  aeug.twbbs.org 
◣◢ Author: dolphinus 從 192.168.2.2 發表
2006-03-20 15:43:39 UTC
Permalink
Post by 沼田 俊
Post by 空
上述的方法有問題
當刪除到 yes 本身的檔案的話, 會因為 yes 本身正在使用中出現錯誤訊息
除非 yes 的檔案不在同一個目錄中
echo y | del.
當然是在外部檔案,而且看要放哪邊...寫的人自己決定就好.
用 echo 也不無可以,但是容易照成看得人無法一看便知....
那麼還要多做一個內容只有一個 Y 字母的檔案
還要用 Append 才能在任何目錄下可以呼叫
然後再用轉向方式, 還要記得那個只有 Y 字母的檔案在哪裡
好像也不見得會讓人好看到哪裡去

C:\>copy con Y
Y^Z
1 file(s) copied.
C:\>copy con d.bat
del *.* < y
1 file(s) copied.

其他作業系統我不知道, 不過我這樣執行刪不掉, 而且還要多記兩三個步驟
我的作業系統是 2000 的

C:\>echo y | del *.*

一行解決


--
◤◥ Origin:  幽谷˙反地球聯邦組織  aeug.twbbs.org 
◣◢ Author: hdk 從 202-178-130-150.cm.dynamic.apol.com.tw 發表
療傷系人物
2006-03-20 23:30:15 UTC
Permalink
※ 引述《hdk (空)》之銘言:
Post by 空
Post by 沼田 俊
當然是在外部檔案,而且看要放哪邊...寫的人自己決定就好.
用 echo 也不無可以,但是容易照成看得人無法一看便知....
那麼還要多做一個內容只有一個 Y 字母的檔案
還要用 Append 才能在任何目錄下可以呼叫
然後再用轉向方式, 還要記得那個只有 Y 字母的檔案在哪裡
好像也不見得會讓人好看到哪裡去
C:\>copy con Y
Y^Z
1 file(s) copied.
C:\>copy con d.bat
del *.* < y
1 file(s) copied.
其他作業系統我不知道, 不過我這樣執行刪不掉, 而且還要多記兩三個步驟
我的作業系統是 2000 的
C:\>echo y | del *.*
一行解決
小弟之前剛好有寫過類似的

copy con test.bat
#echo off
dir /b %1 > del.list
<再利用del.list的內容去刪除檔案>
<使用的del參數為del /q /f 檔案名稱>
<刪除del.list>

很抱歉,檔案被刪除了

這樣子寫起來 如果說在有MS的antispyware下 會跳出詢問是否阻檔
若是允許 可能會刪除到桌面的檔案

所以先在dos下執行一次test del.list


--
◤◥ Origin:  幽谷˙反地球聯邦組織  aeug.twbbs.org 
◣◢ Author: Saren 從 218-175-72-107.dynamic.hinet.net 發表
沼田 俊
2006-03-21 08:07:26 UTC
Permalink
Post by 空
Post by 沼田 俊
當然是在外部檔案,而且看要放哪邊...寫的人自己決定就好.
用 echo 也不無可以,但是容易照成看得人無法一看便知....
那麼還要多做一個內容只有一個 Y 字母的檔案
還要用 Append 才能在任何目錄下可以呼叫
然後再用轉向方式, 還要記得那個只有 Y 字母的檔案在哪裡
好像也不見得會讓人好看到哪裡去
C:\>copy con Y
Y^Z
1 file(s) copied.
C:\>copy con d.bat
del *.* < y
1 file(s) copied.
其他作業系統我不知道, 不過我這樣執行刪不掉, 而且還要多記兩三個步驟
我的作業系統是 2000 的
C:\>echo y | del *.*
一行解決
我那個 yes 檔, 是固定放在 tools 目錄底下的....沒有把整套寫出來.
不需要使用 append.

所以完整寫法是

del *.* < C:\tools\yes

您直接用 console 寫有問題(您忘了搭上 eof 跟換行字元,請用 notepad 編寫較妥)

用您的 echo 方式,也是可以做到,不過可能比較先進吧,看了很多人/公司

寫的 batch file ,此類功能沒看過人家用 echo 當作砍檔的 input ... :P
--
※ Origin: 交大資工鳳凰城資訊站 <bbs.csie.nctu.edu.tw> 
◆ From: 61.60.127.24

Loading...