草庐IT

非递归

全部标签

c# - 使用通配符递归地从文件夹复制文件(文件夹路径有通配符)

美好的一天。我必须将文件夹(包括子文件夹)中的所有文件复制到其他共享驱动器位置以备份数据。我面临的挑战是带有通配符的文件夹路径。例如,文件夹结构如下D:/Folder1/Folder11/Folder111D:/Folder2/Folder222/Folder222222D:/Folder3/Folder333333/Folder3333333我正在寻找输入格式应该是“D:/Folder?/Folder*/Folder*”。所以它必须根据通配符模式循环。你能帮帮我吗问候,钱德拉 最佳答案 您可以使用简单的RegularExpress

ruby 的 net::ftp nlst ('**/*' ) 方法在 Windows 上无法递归工作

我正在尝试使用ruby​​的net::ftpnlst('**/*')方法从Windows服务器递归获取文件。这在Windows上递归不起作用。我得到一个错误:“550文件名、目录名或卷标语法不正确”。我见过一些程序员使用这种语法的例子。我猜这个语法在Windows上不起作用。为什么?有没有一种简单的方法来使用某种glob语法,即使我必须使用Dir[](如果使用Dir[]我如何将它指向服务器的目录)?我试过只使用一个*,这会得到当前目录中的所有文件,而不是文件夹中的所有文件。 最佳答案 我发现出于某种原因,文件被视为目录。File.d

windows - 在颠覆存储库中递归查找包含文本的文件

我如何递归地遍历整个版本库并列出包含特定文本的文件? 最佳答案 您可以使用ack(站点:http://betterthangrep.com/,我喜欢这个域名;)):它默认忽略.svn并在多个平台上运行,包括Windows,是一个Perl程序。使用示例:在C程序中查找所有#include文件:ack--cc'#include\s+--output'$1'-h证明示例:"GreppingofSVNrepositorieswasdrivingmecrazyuntilIfoundack.Itfixesallofmygrepannoyance

Windows 资源管理器外壳扩展:通过 ITransferSource::RemoveItem 递归删除?

我正在为Windows7上的网络文件系统实现WindowsExplorerShell扩展,但在实现删除功能时遇到了障碍。假设我的远程文件系统层次结构如下:Dir1+-Dir2|+-A|+-B+-C我的理解是你需要实现ITransferSource::RemoveItem(我已经完成了),但我希望首先从文件系统树中最远的child递归调用(即深度-第一次递归遍历):(A,B,Dir2,C,Dir1)发生的事情是我首先被要求为根,然后是每个child,迭代地:(Dir1,C,Dir2,A,B)这对我来说有点奇怪,因为Shell已经递归地遍历所有要删除的项目以显示操作的进度条(“发现项目”对

windows - 递归检查文件并在特定文件类型存在时执行压缩

我的问题陈述:MainFolder-SubFolder1--1.jpg--2.jpg-SUbFolder2--Subsubfolder---1.jpg---2.jpg我有这个包含子目录的主文件夹,在最后一个子目录中,有图像。现在,我想要实现的是递归检查图像文件是否存在于子目录中如果是,将所有图像文件压缩到该子目录中,并根据各自的子目录名称命名它们。我有这个命令来实现:"C:\ProgramFiles\PeaZip\res\7z\7z.exe"a-tzip-mm=Deflate-mmt=on-mx5-mfb=32-mpass=1-sccUTF-8-mem=AES256"-wC:\exp\

Python递归删除目录中的文件/文件夹,但不删除父目录或特定文件夹

这种类型的问题以前有人问过,但我似乎无法通过我找到的帮助得到我想要的东西。Thisquestion有一个answerbyuserIker,其中用户提供的代码确实完全按预期工作:它从文件夹中删除所有文件和目录,但不删除父文件夹本身。我想通过删除父目录中的所有文件来进一步调整这一点,但不删除父目录,并且我想排除目录中的文件夹。我使用的代码是:importosimportshutilfiles='[thepathtomyfolder]'forroot,dirs,filesinos.walk(files):forfinfiles:os.unlink(os.path.join(root,f))f

windows - 为什么递归 (/R) for 循环在 Windows 批处理文件中有奇怪的行为

似乎!DRIVE!考虑到延迟扩展已启用,应该可以工作。为什么不呢?为什么下面的代码不适用于第一种情况?@echooffsetlocalEnableDelayedExpansionSET"DRIVE=H:\"REMDOESN'TWORKFOR/R"!DRIVE!"%%Sin(*)do(echo(%%S)pauseREMWORKSFOR/R"%DRIVE%"%%Sin(*)do(echo(%%S)pauseREMWORKSFOR/R"H:\"%%Sin(*)do(echo(%%S)pause 最佳答案 因为...that'showitw

windows - 递归删除匹配 "*folder1\folder2"的文件夹

我试图删除所有位于CVS文件夹中的.svn文件夹。模式应该是这样的“*CVS\.svn”。但是,我目前尝试编写批处理脚本的尝试不起作用。这是我到目前为止所拥有的,尽管它不起作用。FOR/D/R%%XIN(*CVS\.svn)DORD/S/Q"%%X"或FOR/RCVS%%XIN(.svn)DO(RD/S/Q"%%X") 最佳答案 如果您从比“CVS”目录高一级开始,这会起作用(否则会稍微复杂一些):for/f%din('dir/a:d/b/sCVS')do(ifexist"%d\.svn\."rd/s/q"%d\.svn")第一行递

windows - 递归使用 ReadDirectoryChangesw

我想递归地观察目录中的所有变化,即如果观察C:\我想接收通知C:\1.txtC:\A\1.txt如果我使用启用了watchSubtree选项的ReadDirectoryChanges,它只报告C:\1.txtC:\A它不能递归地工作。如何让它递归工作?我真的需要为每个子目录调用ReadDirectoryChanges吗?如果创建新的子目录/删除子目录怎么办?感谢您的帮助。 最佳答案 可以看看DirectoryWatch有效的组件。我在生产代码中使用它,所以我知道它可以正常工作,即使对于子目录也是如此。

windows - 跨子文件夹运行批处理脚本(递归)

我经常必须在子文件夹结构中重命名数百个文件。我一直在创建一个包含所有重命名命令的批处理文件,并将其手动粘贴到每个子文件夹中以一次执行一个子文件夹。我想修改批处理脚本,以便对所有子文件夹执行一次,仅从父目录运行一次。我的重命名是非常手动的,因此我需要为每个文件创建一个离散条目。例如,这是三行:RENSTWP01_00669087*BCBSRI-01849351*RENBCBSRI-01849357*2011-12-19_BCBSRI-01849357*RENSTWP01_00669094*BCBSRI-01849369*我已经尝试过FOR/Rcommand,包括尝试使用一个单独的批处理文