只是清理.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...