在最近的備份/恢復週期中,我意識到我設法省略了'.svn'目錄中的'tmp'目錄,因此我無法更新我的工作副本。如果我手動創建一個新的空'tmp'目錄,問題就消失了,所以我正在尋找一種遞歸遍歷每個文件夾的方法,找到'.svn'並在其中創建一個'tmp'文件夾。遞歸創建特定目錄中的文件夾
因爲我不想搞砸了,我想我的請求幫助我做了一件愚蠢的:)
的意見/建議將意識到之前,由於現有的文件夾!
PS:這是在Windows機器上,所以令人傷心的Bash和其他Unix工具不存在。
在最近的備份/恢復週期中,我意識到我設法省略了'.svn'目錄中的'tmp'目錄,因此我無法更新我的工作副本。如果我手動創建一個新的空'tmp'目錄,問題就消失了,所以我正在尋找一種遞歸遍歷每個文件夾的方法,找到'.svn'並在其中創建一個'tmp'文件夾。遞歸創建特定目錄中的文件夾
因爲我不想搞砸了,我想我的請求幫助我做了一件愚蠢的:)
的意見/建議將意識到之前,由於現有的文件夾!
PS:這是在Windows機器上,所以令人傷心的Bash和其他Unix工具不存在。
取決於有多少。
名單與
dir/B/S .svn >dirs.bat
編輯dirs.bat在你選擇的編輯器的目錄。在每行的開頭添加md
(因爲每行都以C開頭):你可以使用一個相當愚蠢的編輯器(包括記事本)將C更改爲md C:
)。將/ tmp添加到每行的末尾(將.svn
替換爲.svn\tmp
)。保存。運行BAT文件
工作完成。
以下是如何自動化整個過程。將下面的文件中像fixtmp.cmd
:
@echo off
for /f "usebackq delims=" %%I in (`dir /b /s .svn`) do (
echo Fixing %%I...
mkdir "%%I\tmp"
)
上面的腳本沒有在我的Windows 7機器上工作。 「dir /b /s .svn
」沒有得到所有目錄,我得到一個「文件未找到」錯誤。
我改變腳本有/廣告除了只選擇目錄和工程!這是爲我工作的srcipt。
@echo off
for /f "usebackq delims=" %%I in (`dir /ad /b /s .svn`) do (
echo Fixing %%I...
mkdir "%%I\tmp"
)
嗨保羅,感謝您的建議。如果文件夾的路徑中不包含任何空格,則工作正常(如果存在空格,則會失敗(並且隨機開始在同一個目錄中創建文件夾,我運行該批處理文件,這很奇怪)。我嘗試在「s」中包裝路徑,但這並沒有幫助。任何想法?乾杯 – Hamza 2010-11-29 17:19:35
當你做文本替換時將目錄放在引號中 – 2010-11-29 18:00:06