Board logo

标题: [文本处理] 出现同名文件夹时无法覆盖,帮忙看看批处理哪里加上/y [打印本页]

作者: 断桥    时间: 2018-9-8 18:53     标题: 出现同名文件夹时无法覆盖,帮忙看看批处理哪里加上/y

这个批处理的意思是将当前目录下的文件夹提取到当前目录。
但是我在使用过程中出现提取出来的文件夹与当前目录下的文件夹名称一致,导致无法移动,DOS提示拒绝访问
我想要提取出来的文件夹名称和目录文件夹名称一致时,直接覆盖即可。
所以请大神帮忙看下少什么命令了,谢谢。

当然也可以直接修改为提取下级目录(只需要下级目录就可以)到当前目录下后删除当前目录。
  1. echo 批量把文件夹下的次级文件夹提取到当前目录
  2. for /d %%a in (*) do (
  3. pushd "%%~a"
  4. for /d %%b in (*) do move "%%~b" "%~dp0"
  5. popd
  6. )
  7. pause
复制代码

作者: Batcher    时间: 2018-9-10 15:38

测试代码之前请注意做好备份
  1. @echo off
  2. for /d %%a in (*) do (
  3.     ren "%%a" "%%a To Be Delete"
  4.     move "%%a To Be Delete\%%a" .\
  5.     rd /s /q "%%a To Be Delete"
  6. )
复制代码

作者: Batcher    时间: 2018-9-10 15:41

以后发帖求助需要表达目录结构的时候,可以试试这个命令:

C:\Test>tree /f
C:.
├─新建文件夹
│  └─新建文件夹
│          1.txt

└─新建文件夹 - 2
    └─新建文件夹 - 2
            2.txt
作者: xinxing124    时间: 2018-9-10 17:52

为发帖发帖方便,目录结构清晰,可以使用批处理来更简单些,直接复制发帖就行。
  1. cmd
  2. tree /f>1.txt
复制代码

作者: xczxczxcz    时间: 2018-9-11 21:20

因为你已经pushd到新建文件夹内。CMD正工作在该目录中。当然无法删除。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2