在最近的备份/恢复周期中,我意识到我设法省略了'.svn'目录中的'tmp'目录,因此我无法更新我的工作副本。如果我手动创建一个新的空'tmp'目录,问题就消失了,所以我正在寻找一种递归遍历每个文件夹的方法,找到'.svn'目录并在其中创建一个'tmp'文件夹。
因为我不想弄乱现有的文件夹,我以为在做傻事之前我会寻求帮助:)
意见/建议将不胜感激,谢谢!
PS:这是在Windows机器上,很遗憾Bash和其他unix实用程序不存在。
答案 0 :(得分:2)
上面的脚本在我的Windows 7计算机上不起作用。 “dir /b /s .svn
”未获得所有目录,我收到“找不到文件”错误。
我将脚本更改为/ ad除了选择目录之外还有效!这是对我有用的srcipt。
@echo off
for /f "usebackq delims=" %%I in (`dir /ad /b /s .svn`) do (
echo Fixing %%I...
mkdir "%%I\tmp"
)
答案 1 :(得分:1)
取决于有多少。
使用
列出目录 dir/B/S .svn >dirs.bat
在您选择的编辑器中编辑dirs.bat。在每一行的开头添加md
(因为每行都以C语言开头:您可以使用相当笨的编辑器 - 包括记事本 - 将C:更改为md C:
)。将/ tmp添加到每行的末尾(将.svn
替换为.svn\tmp
)。保存。运行BAT文件
完成工作。
答案 2 :(得分:0)
以下是如何自动化整个过程。将以下内容放在fixtmp.cmd
:
@echo off
for /f "usebackq delims=" %%I in (`dir /b /s .svn`) do (
echo Fixing %%I...
mkdir "%%I\tmp"
)