清空資料夾內容

顯示結果從第 1 筆 到 10 筆,共計 10 筆
  1. #1
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686

    清空資料夾內容

    最近構思的一個腳本,用來刪除資料夾內容,但不刪除資料夾本身。

    經過簡易測試,在此提供給有需要的使用者。設計上有疏漏的地方,可以詳細說明問題。

    語法:
    @echo off
    
    :start
    
    if not "%~1"=="" (
    if exist "%~1\" (
    for /f "delims=" %%v in ('dir /ad /b "%~1\" ^2^>nul') do rd /s /q "%~1\%%v"
    del /a /f /q "%~1\" 2>nul
    )
    shift /1
    ) else (goto:eof)
    
    goto start
    語法:empty <資料夾> [<資料夾>...]

    限制:不支援萬用字元


    附加檔案 附加檔案

  2. #2
    我是嫩咖
    註冊日期
    2001-02-26
    所在地區
    FTTH 50M/5M 固定+50M/5M浮動 + MOD + KOD
    討論區文章
    7,623

    回覆: 清空資料夾內容

    del 資料夾\*.* /s /q

    也能達到目的,是這樣嗎?

    把以下的內容存成bat或cmd,還可以透過帶參數的方式來執行,例如存成OF.bat,要刪掉A目錄底下所有的檔案但保留資料夾,那可以下OF A。
    del %1\*.* /s /q
    此文章於 2012-01-02 10:22 PM 被 mis339 編輯。
    ∼一雙冷眼看人生;滿腔熱血酬知己∼

    P.S.你可以叫我「阿斌」或「Alan」,請不要叫我mis339,謝謝。

  3. #3
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686
    empty dir = rd /s /q dir & md dir

    本來想找當時微軟在 Windows 2000 某網頁提供的範例,不過年代久遠,用搜尋引擎一時也找不到,所以只好自己寫一個來使用。

  4. #4
    會員
    註冊日期
    2007-12-29
    所在地區
    ADSL 2M/256
    討論區文章
    292

    回覆: 清空資料夾內容

    執行 empty.BAT 在同一個目錄下的檔案都還在
    我把資料夾拖到 empty.BAT 上 子資料夾也是會被砍

    WIN7 64BIT

  5. #5
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686
    看起來是這樣的行為,沒有問題。其實這個小腳本,從去年想到今年,修改將近 20 回合,目前算能接受的結果。

    為了防止誤操作,不存在任何參數,就不會有動作。喜歡的話,測試 empty . 和 empty c: d: e: 命令,就可以刪除現行目錄的資料,以及 C: D: E: 磁碟的所有資料。

    有考慮檔案屬性,但是忽略權限的問題。

    引用 作者:playkof 瀏覽文章
    執行 empty.BAT 在同一個目錄下的檔案都還在
    我把資料夾拖到 empty.BAT 上 子資料夾也是會被砍

    WIN7 64BIT



  6. #6
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686
    今天回想到一種寫法,處理效率會好很多。

    語法:
    @echo off
    
    :start
    
    if not "%~1"=="" (
    if exist "%~1\" (
    pushd "%~1\"
    rd /s /q . 2>nul
    popd
    )
    shift /1
    ) else (goto:eof)
    
    goto start
    之所以說是回想,是因為當初搜尋範例時,有人提出的另類解法。經過簡易測試,既簡單又有效。
    附加檔案 附加檔案

  7. #7
    會員
    註冊日期
    2001-05-18
    討論區文章
    1,938

    回覆: 清空資料夾內容

    我個人是不清楚 empty.bat 這個批次檔要做什麼?

    rd /s /q . 2>nul

    rd /s /q "%1" "%2" "%3" ......... 2>nul 不是直接可以刪嗎?


    @ECHO OFF
    CLS
    :START
    set /p INPUT="輸入路徑名稱 (例: c:\temp\test\ )? "
    IF ERRORLEVEL 1 GOTO :eof
    rd /s /q "%INPUT%" 2>nul
    goto :START

    按 <Enter> 結束
    輸入目錄路徑名稱刪那個目錄 有 \ 刪裡面, 沒 \ 含自己都刪.

    如果要用批次檔跑
    test.bat

    @ECHO OFF
    CLS
    :START
    rd /s /q "%1" 2>nul
    shift
    if not "%~1"=="" goto :START

    test "F:\Temp\empty\新資料夾\新資料夾\" "F:\Temp\empty\新資料夾\"
    此文章於 2012-01-05 01:55 AM 被 bx2aa 編輯。
    解九連環有錄影的最佳紀錄
    http://www.youtube.com/watch?v=jHzLmHx5TXs
    沒錄影的最佳紀錄 1分41秒.

  8. #8
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686
    引用 作者:bx2aa 瀏覽文章
    @ECHO OFF
    CLS
    :START
    set /p INPUT="輸入路徑名稱 (例: c:\temp\test\ )? "
    IF ERRORLEVEL 1 GOTO :eof
    rd /s /q "%INPUT%" 2>nul
    goto :START

    按 <Enter> 結束
    輸入目錄路徑名稱刪那個目錄 有 \ 刪裡面, 沒 \ 含自己都刪.
    感謝提供新的想法。自己是在 Windows XP 測試功能,用這個腳本測試後還是有些奇怪,和期望的結果不同。

    猜想是受到非 Windows 系統的影響?因為某些基本功能,多少會有解釋上的差異,不容易 100% 移植轉換。

    由於個人喜好,這裡只寫出適合自己能理解的語法和行為,不太能列舉出各種應用方法,請大家包涵。

  9. #9
    會員
    註冊日期
    2001-05-18
    討論區文章
    1,938

    回覆: 清空資料夾內容

    mis339 說的
    del %1\*.* /s /q
    就是保留資料夾結構, 所有檔案都刪除.

    只需改一下

    @ECHO OFF
    CLS
    del c:\temp\delete-LOG.txt /q
    :START
    set /p INPUT="輸入路徑名稱 (例: c:\temp\test )? "
    IF ERRORLEVEL 1 GOTO :eof
    del /s /q "%INPUT%\*.*" 1>>c:\temp\delete-LOG.txt 2>&1
    goto :START

    批次檔方式
    @ECHO OFF
    CLS
    del c:\temp\delete-LOG.txt /q
    :START
    if "%~1"=="" goto :eof
    del /s /q "%1\*.*" 1>>c:\temp\delete-LOG.txt 2>&1
    shift
    if not "%~1"=="" goto :START


    結果:
    type c:\temp\delete-LOG.txt

    刪除的檔案 - F:\Temp\test\新資料夾 (10)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (10)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (2)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (2)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (3)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (3)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (4)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (4)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (5)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (5)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (6)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (6)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (7)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (7)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (8)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (8)\新資料夾\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (9)\新增文字文件.txt
    刪除的檔案 - F:\Temp\test\新資料夾 (9)\新資料夾\新增文字文件.txt
    此文章於 2012-01-06 04:20 PM 被 bx2aa 編輯。
    解九連環有錄影的最佳紀錄
    http://www.youtube.com/watch?v=jHzLmHx5TXs
    沒錄影的最佳紀錄 1分41秒.

  10. #10
    あなたの側に居る 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區 / Wi-Fi
    討論區文章
    9,686
    網路上找到的一種方法,處理效率和第一個範例很接近,都一樣慢。

    語法:
    @echo off
    
    :start
    
    if not "%~1"=="" (
    if exist "%~1\" (
    rundll32.exe advpack.dll,DelNodeRunDLL32 "%~f1\" ,4
    )
    shift /1
    ) else (goto:eof)
    
    goto start
    這是病毒專用的方法,基本上只供研究之用。


    附加檔案 附加檔案

類似的主題

  1. 【軟體求助】資料夾內容看不見了
    作者:jansonshie 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 6
    最後發表: 2007-01-31, 09:06 PM
  2. 【求助】我的XP無法以右鍵打開資料夾內容!
    作者:lock.huang 所在討論版:-- Windows 討 論 版
    回覆: 7
    最後發表: 2002-08-11, 05:20 PM
  3. serv-U 看不到某些子資料夾內容
    作者:酷小子 所在討論版:-- 網 路 技 術 版
    回覆: 18
    最後發表: 2002-02-14, 02:06 AM
  4. 如何查看網路資料夾內容?
    作者:conanlee 所在討論版:-- Windows 討 論 版
    回覆: 1
    最後發表: 2002-01-01, 02:17 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •