精华内容
下载资源
问答
  • 如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件 #场景1 读取一个文件夹中所有文件,存入到一个list表中 #coding:utf-8 from __future__ import absolute_import from __...

    如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件

      

    #场景1 读取一个文件夹中所有文件,存入到一个list表中

    #coding:utf-8
    from __future__ import absolute_import
    from __future__ import division
    from __future__ import print_function
    
    import numpy as np
    import os
    import sys
    import math
    import numpy
    import time
    import argparse
    import random
    import cv2
    
    
    def findAllfile(path, allfile):
        filelist =  os.listdir(path)  
        for filename in filelist:  
            filepath = os.path.join(path, filename)  
            if os.path.isdir(filepath):
                #print(filepath)  
                findAllfile(filepath, allfile)  
            else:  
                allfile.append(filepath)  
        return allfile 
    
    #场景1 读取一个文件夹中所有文件,存入到一个list表中
    def process1(srcpath, imgprocess_result):
    
        #遍历图像文件夹
        image_files = findAllfile(srcpath,[])
        #image_files为所有文件的list
    
        #判断 目录是否存在,存在就删除,并且重建
        if os.path.exists(imgprocess_result):
            os.system("rm -rf " + imgprocess_result)
        if not os.path.isdir(imgprocess_result):  # Create the log directory if it doesn't exist
            os.makedirs(imgprocess_result)
    
        #是否随机打乱文件顺序
        #random.shuffle(image_files)
    
        #遍历所有
        for facepath in image_files:
            print("原始文件路径:", facepath)
            #获取文件名称
            data_split = facepath.strip().split("/")
            image_floder = data_split[-2]
            print("文件所在目录:", image_floder)
            image_name = data_split[-1]
            print("文件名称:", image_name)
    
            image_newfloder = imgprocess_result + "/" + image_floder
            #判断 目录是否存在,不存在就重建
            if not os.path.isdir(image_newfloder):  # Create the log directory if it doesn't exist
                os.makedirs(image_newfloder)
    
            image_newpath = image_newfloder + "/" + image_name
            print("处理后的文件路径:", image_newpath)
    
            #开始处理文件
            #..............
            #
            #
    
    
    #场景2 首先读取一个文件夹中的所有子目录,然后依次遍历各个子目录的所有文件
    def process2(srcpath, imgprocess_result):
        #找出所有的子目录
        filelist =  os.listdir(srcpath) 
        for filename in filelist:  
            filepath = os.path.join(srcpath, filename)  
            if os.path.isdir(filepath):
                print("原始子目录路径:", filepath)
                image_files = findAllfile(filepath,[])
                for facepath in image_files:
                    print("原始文件路径:", facepath)
                    #获取文件名称
                    data_split = facepath.strip().split("/")
                    image_floder = data_split[-2]
                    print("文件所在目录:", image_floder)
                    image_name = data_split[-1]
                    print("文件名称:", image_name)
    
                    image_newfloder = imgprocess_result + "/" + image_floder
                    #判断 目录是否存在,不存在就重建
                    if not os.path.isdir(image_newfloder):  # Create the log directory if it doesn't exist
                        os.makedirs(image_newfloder)
    
                    image_newpath = image_newfloder + "/" + image_name
                    print("处理后的文件路径:", image_newpath)
    
                    #开始处理文件
                    #..............
                    #
                    #
    
    if __name__ == '__main__':
        #原始文件夹
        srcpath  = "/DATA/share/publicdata/face/dmt_face/test"
        #处理完毕后存放文件
        imgprocess_result = "/DATA/share/publicdata/face/dmt_face/imgprocess_result"
    
        print("方法1\n\n\n\n")
        process1(srcpath, imgprocess_result)
        print("\n\n\n方法2")
        process2(srcpath, imgprocess_result)

     

    转载于:https://www.cnblogs.com/adong7639/p/8527161.html

    展开全文
  • 强制删除带点的特殊文件夹批处理

    千次阅读 2011-02-27 15:59:00
    删除任何目录和目录,还能删除带点的特别文件夹。 使用方法:将需要删除文件夹左键拖牵到本批处理脚本上即可  程序代码@echo off echo y|cacls "%1" /g everyone:f 2>nul 1>nul cd /...

    删除任何目录和子目录,还能删除带点的特别文件夹。
    使用方法:将需要删除的文件夹左键拖牵到本批处理脚本上即可

     

     程序代码
    @echo off
    echo y|cacls "%1" /g everyone:f 2>nul 1>nul
    cd /d "%1"
    for /f %%i in ('dir /b/a') do echo y|cacls "%%i" /g everyone:f 2>nul 1>nul
    cd..
    RD /S/Q %1 2>nul 1>nul&&goto skip
    RD /S/Q %1./ 2>nul 1>nul
    :skip
    exit
    展开全文
  • 批处理删除文件夹命令Till now we haven’t discussed about the most important commands that provide actual functionality to the batch files, which are none other than file and folder manipulation ...

    批处理删除文件夹命令

    批处理文件夹命令 (Batch File Folder Commands)

    1. Dir 2. Mkdir 3. Rmdir 4. Chdir 5. Ren 6. Pushd 7. Popd

    1. Dir 2. Mkdir 3. Rmdir 4. Chdir 5. Ren 6. Pushed 7. Popd

    指挥官 (Dir Command)

    The dir command serves to print the contents in a directory. As usual like all other commands, this also has some switches that narrow down the results according to the switches used.

    dir命令用于在目录中打印内容。 像所有其他命令一样,它也具有一些开关,这些开关可以根据使用的开关来缩小结果范围。

    Eg: C:Usersuser1>dir

    例如: C:Usersuser1> dir

    Executing the dir command without any switches gives the following output.

    在没有任何开关的情况下执行dir命令将产生以下输出。

    Volume in drive C is OS Volume Serial Number is C484-3F97 Directory of C:Usersuser1 03/04/2014  07:40 AM    <DIR>          dwhelper 03/12/2015  05:57 PM    <DIR>          Favorites 0 File(s)              0 bytes 31 Dir(s)  137,566,859,264 bytes free

    驱动器C中的 为OS 卷序列号为C484-3F97 C: Usersuser1 目录2014年 4月4日上午7:40 <DIR> dwhelper 2015年 3月 12 日05:57 PM <DIR>收藏夹 0文件0字节 31个dir 137,566,859,264字节可用

    Initially it prints the drive details and then the contents in a table format. The first column gives the created date of either the file or the folder, Next column indicates the time of creation, then follows the <DIR> that indicates it is a folder. Finally the last column displays the column name. At last the number of files, directories and free memory space available on the drive is displayed.

    最初,它先打印驱动器详细信息,然后以表格格式打印内容。 第一列给出了文件或文件夹的创建日期,下一列表明了创建时间,然后在<DIR>之后表明它是文件夹。 最后,最后一列显示列名。 最后显示驱动器上可用的文件,目录和可用存储空间的数量。

    Flags in Dir Command dir command with ‘/a’ switch will display all the files and folders in a directory, no matter what attribute is set.

    无论设置了什么属性,Dir Command dir命令中带有“ / a”开关的标志都将显示目录中的所有文件和文件夹。

    ‘dir /a[D|R|H|A|S|I]’ Switches description is as follows. ‘D’ to display Directories, ‘R’ to display Read-only files, ‘H’ to display Hidden files, ‘A’ to display Files ready for archiving, ‘S’ to display System files and ‘I’ to display not content indexed files.

    'dir / a [D | R | H | A | S | I]'开关说明如下。 “ D”显示目录,“ R”显示只读文件,“ H”显示隐藏文件,“ A”显示准备归档的文件,“ S”显示系统文件,“ I”显示不内容索引文件。

    ‘dir /b’ Here ‘b’ stands for bare information. This serves similar purpose of dir command but only the folders and files are displayed in a single column without their extensions, date and time.

    'dir / b'这里的'b'代表裸露的信息。 这与dir命令的目的相似,但只有文件夹和文件显示在单列中,没有扩展名,日期和时间。

    ‘dir /d’ command simply displaying the file names with their extensions alone.

    'dir / d'命令仅显示带有扩展名的文件名。

    ‘dir /l’ displays the output in lowercase.

    'dir / l'以小写形式显示输出。

    ‘dir /o’ sorts the order of files and folders.

    'dir / o'排序文件和文件夹的顺序。

    Mkdir命令 (Mkdir Command)

    The mkdir command stands for to make a directory, which is used to create new directories in the desired location. Also the mkdir command is a replacement of the ‘md’ command. We can create any number of directories just by using a single mkdir command. This command doesn’t have any switches.

    mkdir命令代表建立目录,该目录用于在所需位置创建新目录。 同样,mkdir命令代替了'md'命令。 我们只需使用一个mkdir命令就可以创建任意数量的目录。 该命令没有任何开关。

    Eg: mkdir My Programs (or) Md My Programs

    例如: mkdir我的程序(或)Md我的程序

    The above two commands create a new directory named My Programs in the location where you are currently working. We can also create a folder inside another folder at the same time using a single command as the below one.

    上面的两个命令在您当前工作的位置创建一个名为“我的程序”的新目录。 我们还可以使用下面的单个命令同时在另一个文件夹中创建一个文件夹。

    Eg: md new1\new2\new3

    例如: md new1 \ new2 \ new3

    This command creates new1 folder then creates new2 inside new1 and at last new3 inside new2.

    此命令创建new1文件夹,然后在new1内部创建new2,最后在new2内部创建new3。

    Rmdir命令 (Rmdir Command)

    The rmdir command is short hand for the remove directory that is used to remove an already existing directory or folder, you can use the command as ‘rd’ also which serves for the same purpose. For deleting a folder using rd command we need to make sure that it does not contain any files or sub folders.

    rmdir命令是用于删除目录的快捷方式,该目录用于删除已经存在的目录或文件夹,您也可以将命令用作“ rd”,该命令也用于相同的目的。 要使用rd命令删除文件夹,我们需要确保该文件夹不包含任何文件或子文件夹。

    Eg: rd new1

    例如: rd new1

    The above command doesn’t delete the folder new1 as already their exits a folder new2 inside new1. So, we use two switches to solve this problem. The rd command has two switches ‘/s’ and ‘/Q’. The ‘/s’ switch is used to delete all the directories, sub-directories and files inside the folder. So, you won’t have to manually delete all the sub folders and files inside them. The next switch ‘/Q’ stands for quiet mode, in quiet mode the command doesn’t prompt you for confirmation and does all the task of deleting silently.

    上面的命令不会删除文件夹new1,因为它们已经退出了new1内的文件夹new2。 因此,我们使用两个开关来解决此问题。 rd命令有两个开关“ / s”和“ / Q”。 “ / s”开关用于删除文件夹中的所有目录,子目录和文件。 因此,您不必手动删除其中的所有子文件夹和文件。 下一个开关“ / Q”代表安静模式,在安静模式下,该命令不会提示您进行确认,而是执行所有删除操作。

    Chdir命令 (Chdir Command)

    The chdir command is used to change the current working directory. It can also be used in short as ‘cd’. The small difference between cd and chdir is that the chdir command doesn’t require the path given to be in quotes when the folder names contains spaces. But in case of cd command, it is necessary to give the path in quotes.

    chdir命令用于更改当前工作目录。 它也可以简称为“ cd”。 cd和chdir之间的细微差别是,当文件夹名称包含空格时,chdir命令不需要给定的路径用引号引起来。 但是,如果使用cd命令,则必须用引号将路径引起来。

    Eg: chdir  programsstart menu cd  “programsstart menu”

    例如: chdirprogramsstart菜单cd“ programsstart菜单”

    The above commands change the current working directory into start menu directory. Also we can use command ‘cd..’ to move one level up in the hierarchy of directories. And ‘cd’ to move into the current drive.

    上面的命令将当前工作目录更改为开始菜单目录。 我们还可以使用命令“ cd ..”在目录层次结构中上移一级。 和“ cd”移动到当前驱动器。

    任统帅 (Ren Command)

    Rename command ‘ren’ is used to rename a directory on windows through the dos shell. ren can be replaced with its longer version as ‘rename’. The following example shows the syntax for renaming a folder.

    重命名命令“ ren”用于通过dos外壳在Windows上重命名目录。 可以用较长版本的“重命名”代替ren。 以下示例显示了重命名文件夹的语法。

    Eg: rename programmer crazyprogrammer

    例如:将程序员重命名为crazyprogrammer

    The above command renames the directory ‘programmer’ to ‘crazyprogrammer’. This command doesn’t have any switches.

    上面的命令将目录“ programmer”重命名为“ crazyprogrammer”。 该命令没有任何开关。

    推入和弹出命令 (Pushd and Popd Commands)

    The pushd command is used to push the working directory or any specified directory. The current working directory is pushed into the stack and remains there until it is popped out. The popd command is used to pop out a directory that is pushed using the pushd command. Let us consider the below command to understand in detail.

    pushd命令用于推送工作目录或任何指定目录。 当前的工作目录被推入堆栈,并保持在那里直到弹出。 popd命令用于弹出使用pushd命令推送的目录。 让我们考虑下面的命令来详细了解。

    Eg: Assume that I’m in ‘C:myfolder’ and I want to push directly to ‘C:windows’. I can do so using the following command

    例如:假设我在'C:myfolder'中,并且我想直接推送到'C:windows'。 我可以使用以下命令进行操作

    Pushd C:windows

    推入C:windows

    Then my current working directory changes to ‘C:windows’ and the path ‘C:myfolder’ gets pushed into the stack. Next when I execute a popd command, my working directory changes to ‘C:myfolder’ as it pops out from the stack.

    然后,我当前的工作目录更改为“ C:windows”,路径“ C:myfolder”被压入堆栈。 接下来,当我执行popd命令时,我的工作目录会从堆栈中弹出,更改为“ C:myfolder”。

    C:windows> popd C:myfolder>

    C:windows>弹出C:myfolder>

    Try it yourself Create a directory and apply all the commands over it, observe and note down the results.

    自己尝试创建目录并在其上应用所有命令,观察并记录结果。

    翻译自: https://www.thecrazyprogrammer.com/2015/07/batch-file-folder-commands.html

    批处理删除文件夹命令

    展开全文
  • 删除指定文件夹中除保留的文件外的所有文件批处理 @echo off set "ext= sln csproj" for /f "delims=" %%a in ('dir /b/s/a-d *.*') do ( set .= if /i not "%%~nxa"=="%~nx0" ( for %%i in (%ext%) do if...

    删除指定文件夹中除保留的文件外的所有文件批处理

     

    @echo off
    set "ext= sln csproj"
    for /f "delims=" %%a in ('dir /b/s/a-d *.*') do (
    set .=
    if /i not "%%~nxa"=="%~nx0" (
    for %%i in (%ext%) do if /i "%%~xa"==".%%i" set .=.
    ) else set .=.
    if not defined . del /a/q/f "%%a"
    )
     
      

    删除指定文件夹下的空文件夹,包括子目录批处理

    
    @echo off
    :h
    setlocal enabledelayedexpansion
    
    for /d %%a in (%1*) do (
    set p="%%a\"
    
    set p=!p:.\"=..\"!
    rd !p! || ( call :h !p! & rd !p! )
    )

     

    转载于:https://www.cnblogs.com/endv/p/4182648.html

    展开全文
  • 现在有文件夹A,A下面有很多子文件夹A1 A2 A3 A4 A5...等,每个子文件夹内含有图片文件1,2,3,4,5...等,如果想要在每个子文件夹内创建一个新的文件夹并用含有上级文件夹名称的字段命名,如在A1中创建一个文件夹命名...
  • 我有一个 名叫 baiyin的文件夹 里面有一些按...现在 我想把图片按照子文件夹的日期名称重命名后 移到另一个文件夹allbaiyin中 并删除空文件夹  如果不删除 去掉Rd /q "%%i" 如果不移动 只是复制 则把 Move 改为Copy
  • D:\source\有3子文件夹 a,b,c a文件家下包含 a1.xls 和 a1.txt b文件家下包含 b1.xls 和 b1.txt c文件家下包含 c1.xls 和 c1.txt 要把每个文件夹拷贝到 E:\target\文件夹下 每个文件夹拷贝的时候,要最后...
  • Win批量特定文件夹及子文件夹删除特定后缀的文件 今天整理代码例子,发现有些文件以前写的批处理文件还是没能执行到删除特定后缀的文件 因此仔细的研究了一下,解决了这个问题 del /a /f /q 目录:\*.后缀 ...
  • 删除比如D:\tmp文件夹下面的所有子文件夹 如有20140627、20140628、20140629...以日期命名,删除除了今天日期的所有子文件夹,请问这个批处理该怎么写? 服务器的操作系统是Windows Server 2008 R2 Enterprise的。
  • 批处理删除文件夹

    2020-12-07 15:48:36
    使用DOS指令编写批处理文件来删除指定名称的文件夹。 例如Visual Studio 2019生成的工程目录下有很多.vs文件夹,会占用很多内存,如果有很多个VS工程中的.vs文件夹删除,通过批处理指令可以实现快速删除。 效果: ...
  • 简单删除文件或文件夹批处理NO.1:超级删除批处理,建一个空白的名字叫 SuperDel 的 txt 文件,把下面的代码复制进去,然后保存,再把它改为.bat 文件 就OK了。DEL /F /A /Q [url=file://\\?\%1]\\?\%1[/url]RD /S...
  • 批处理上传文件到ftp目录下的实现方法为了快速将项目中开发的补丁程序通过ftp快速上传到linux下,感觉每次用flashFxp等工具麻烦),写了个简单的批处理,与大家分享一下。将以下代码保存为.bat格式的文件,每次将要...
  • set num = 0 For /r . %%x in (index.mp4) do ( set /a num += 1 echo %%x echo 第 %num% 个文件处理成功 ...在需要处理的文件夹中建立一个批处理文件,写入以上信息,保存直接运行,不要用管理
  • 由于公司OA需要定期备份数据库文件,及定时删除超过7天的备份文件,通过windows2008自带的windows Server Backup 备份文件夹,及forfile 来定时删除超过时间的文件 由于2008默认没有安装windwos Server Backup,需要...
  • 批处理删除指定文件夹下的所有文件和文件夹
  • svn文件夹解锁批处理

    2019-02-18 16:33:00
    循环删除当前目录及目录下所有的SVN文件 @ rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn" @ for /r . %%a in (.) do @ if exist "%%a\.svn" rd /s /q "%%a\.svn" @echo...
  • 批处理删除文件夹-

    2016-12-29 21:53:00
    有人问我,什么工具能寻找和删除硬盘上所有空的文件夹,或只包含空的子文件夹的文件夹?杀鸡焉用宰牛刀,其实不用任何软件,直接使用批处理命令就能实现这个目的。 - 实现代码: 复制代码 代码如下: @echo off for /...
  • 再加上使用一些Git工具时含空文件不允许提交,因此就寻思着可不可以写一个脚本直接一键清理空文件夹。最终实现的效果如下:最终实现效果-右键点击最终实现效果-清理完成这也是我第一次学习书写windows批处理命令,...
  • 批处理查找当前文件夹及其目录某文件并运行 当前文件夹下(包括目录下)查找某文件并运行 批处理 bat
  • 批处理、批量复制文件:复制文件夹及子文件下所有特定文件,并且复制存在特定文件的子文件夹 cls @echo ******************************************************************************************* @echo 复制...
  • 1、rd命令rd /s /Q c:\temp会将temp文件夹也删除2、rd命令+md命令rd /s /Q c:\tempmd c:\Temp删除后再重建3、del命令del /s /Q c:\temp只能删除文件,而不能删除子文件夹4、del命令+rd命令,先刪除文件,再进入temp...
  • ::::::批处理文件bat要求编码格式为ANSI格式,一个txt文件, ::通过电脑自带的“记事本”编辑bat代码,默认将是ANSI格式编码 @rem echo off @REM 命令“echo off”后面不能有空格 @REM (加@表示连echo off都不显示,...
  • 1.针对仅仅是删除文件夹下的文件的操作: 使用del命令,单纯的删除文件操作,如下: del /f /s /q C:\Users\dell\AppData\Local\Temp\*.* 2.删除文件夹操作 使用rd命令,删除文件夹,如下: rd /s /q C:\Users\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,291
精华内容 6,116
热门标签
关键字:

删除子文件夹批处理