刪除檔案的bat 指令碼

2021-07-04 17:56:55 字數 982 閱讀 5812

rem set cdp=%cd%

set cdp=d:\桌面\d

forfiles -p "%cdp%" -s -m *.log -d -20 -c "cmd /c del @path"

rem 無論是在windows下還是linux下,很多的日誌檔案如果不定時刪除會充滿硬碟,所以可以分別寫個指令碼定時處理一下

rem windows下bat檔案內容如下;

rem  @echo off

rem  forfiles -p "d:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"

rem  forfiles -p "d:\servers\mysql\logs" -s -m *.log -d -15 -c "cmd /c del @path"

rem /p 可是搜尋的路徑。在我們這裡就是要在哪個目錄尋找要刪除的檔案

rem /m 根據搜尋掩碼搜尋檔案。預設為*.log,我們要刪除某時間以前的檔案。

rem /d 檔案修改時間在某個時間之前或者之後,為負數表示多少天之前的,正數是多少天之後的。-15 表示15天之前的檔案。

rem /c 表示為每個檔案執行的命令,這裡是要刪除該檔案所以為"cmd /c del /f /s /q @file"。其中變數@file表示該檔名。如果要刪除資料夾就不用能用del要改為rd

rem linux下面的shell檔案內容如下:

rem  #!/bin/bash

rem   # 刪除30天之前的檔案

rem  find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f

rem 同樣的將上面的目錄換成自己指定的目錄,後面的\*.gz表示副檔名,-mtime後面的引數與上面windows的相反,正數表示多少天之前的檔案。將上面的內容儲存成.sh並使用chmod +x 設定成可執行許可權,然後放到定時任務中去執行即可

bat指令碼刪除資料夾下的重複檔案

應用場景 實現 bat 檔名 echo off 將目錄下的所有檔名匯入 src file name.txt 檔案 for i in do echo cd i src file name.txt 將刪除的檔名匯入 del file name.txt 檔案,並計數 set a cnt 0 for i i...

刪除SVN CVS目錄的bat指令碼

echo on rem 刪除svn版本控制目錄 prompt com for r a in do if exist a svn rd s q a svn rem for r a in do if exist a svn echo a svn echo mission completed.pause ...

通過BAT指令碼從hosts檔案中刪除特定行

新增行 192.168.1.1 www.baidu.com 我想檢查www.baidu.com上是否已有一行並將其刪除。建立臨時host檔案 copy hosts hoststemp 用過濾命令 findstr 的輸出儲存到臨時檔案 對臨時檔案進行所有更改 向檔案中新增一行 使用新建立的臨時檔案替換...