批量刪除svn標誌

2021-09-08 15:29:48 字數 1488 閱讀 6994

只是清理.svn目錄的話,當然可以通過svn工具自帶的匯出功能。記錄下主要還是這個批處理可以遍歷所有目錄中的特定資料夾。

程式**如下:

@echo off

:start

::啟動過程,切換目錄

set pwd=%cd%

cd %1

echo 工作目錄是:& chdir

:input

::獲取輸入,根據輸入進行處理

set source=:

set /p source=確定要清楚當前目錄下的svn資訊嗎?[y/n/q]

set "source=%source:"=%"

if "%source%"=="y" goto clean

if "%source%"=="y" goto clean

if "%source%"=="n" goto noclean

if "%source%"=="n" goto noclean

if "%source%"=="q" goto end

if "%source%"=="q" goto end

goto input

:clean

::主處理過程,執行清理工作

@echo on

@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c & echo     刪除目錄%%c)

@echo off

echo "當前目錄下的svn資訊已清除"

goto end

:noclean

::分支過程,取消清理工作

echo "svn資訊清楚操作已取消"

goto end

:end

::退出程式

cd "%pwd%"

pause

下面簡單介紹一下程式功能。該程式用於刪除迴圈指定目錄下名字為.svn的子目錄,即刪除svn資訊。可以拷貝上述**到wendows下文字檔案中,修改字尾名為.bat即可。使用時,不帶引數則當前目錄為工作目錄,帶引數則第乙個引數為工作目錄(沒有對引數的校驗)。

第一段**列印工作目錄;第

二、三段**迴圈獲取和解析引數,並轉向對應的操作;第四段遍歷刪除子目錄;第五段取消刪除操作;第六段退出程式。

@ 不列印本命令

echo on|off 開啟|關閉後面命令的顯示

set 設定引數或環境變數

goto 跳轉

pause 暫停程式,介面顯示「請按任意鍵繼續……」

程式中比較複雜的命令只有一條:

@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c & echo    

刪除目錄

%%c)

for /r 迴圈遍歷當前目錄,

/d 指定遍歷的是目錄而不是檔案,目錄名為.svn;

if exist 先檢查目錄存不存在,存在則執行刪除(

rd )操作,並列印刪除資訊。

初嚐批處理 批量刪除svn標誌

shell寫了不少,批處理卻一直沒用過。簡單的說,批處理就是一些dos命令的組合。今天小試牛刀,寫了第乙個批處理程式,順便也了解了一下常用的dos命令。以前總覺得dos的東西有些過時,一直沒有好好的學過,初次嘗試了一下其便利性,也算多了一點知識。程式 如下 echo off start 啟動過程,切...

初嚐批處理 批量刪除svn標誌

shell 寫了不少,批處理卻一直沒用過。簡單的說,批處理就是一些dos命令的組合。今天小試牛刀,寫了第乙個批處理程式,順便也了解了一下常用的dos命令。以 前總覺得dos的東西有些過時,一直沒有好好的學過,初次嘗試了一下其便利性,也算多了一點知識。程式 如下 echo off start 啟動過程...

批量刪除SVN檔案

開發過程中,有時需要將svn目錄中的svn相關的資訊去掉,有兩種簡單方法可以做到 一,用svn的export功能 二,將下面的這段文字寫在.reg結尾的文字檔案中,然後執行。這樣你在每個資料夾右擊的時候就會出現delete svn folders這個選項了。很是方便!windows registry...