[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何实现文件跳级提取文件夹文件路径

在一个文件夹下面有很多子级目录,我需要提取下面的大于100k的dat文件。把这个这些文件和目录复制到另外一个路径,还是先看图和环境吧。
[attach]11010[/attach]图一
[attach]11009[/attach]图二


实现目的:

需要把图一“20171114-20171115 5180”这目录下大于100k的dat文件及目录提取到另外一个文件夹,但是提取文件路径时候不提取(图二)标出来的这级目录,目录内的数据仍需要。效果见图如下
[attach]11011[/attach]图三


代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "p1=E:\Test"
  3. set "p2=E:\TestBackupConfig"
  4. set es=*.dat
  5. for /r "%p1%" %%i in (%es%)do (
  6.    echo %%i
  7.    set "ps=%%~dpi"
  8.    set "pd=!ps:%p1%=%p2%!"
  9.    if not exist "!pd!" md "!pd!"
  10.    copy/y "%%i" "!pd!">nul)
  11. pause
复制代码

返回列表