[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
根据我对这需求的理解,难道是把文件夹复制到新的位置,然后复制一下新的路径。
不是吧,如果是的话,似乎没批处理的必要吧?
  1. @echo off
  2. md "E:\备分数据\【PPT】王老吉 123 完成图"
  3. xcopy /e /y "E:\备分数据\【PPT】王老吉 123 完成图" "S:\提交成品\【PPT】王老吉 123 完成图"
  4. echo;S:\提交成品\【PPT】王老吉 123 完成图 123 完成图|clip
复制代码

TOP

回复 3# 228630386


哦。明白了。
批处理放到【PPT】王老吉 123 完成图这样的要复制的文件夹下,执行
  1. @echo off
  2. set "dirpath=%~dp0"
  3. for /f "delims=" %%i in ("%dirpath:~0,-1%") do set 当前目录名=%%~ni
  4. md "S:\提交成品\%当前目录名%" >nul 2>&1
  5. xcopy /e /y "%dirpath:~0,-1%" "S:\提交成品\%当前目录名%"
  6. del /q "S:\提交成品\%当前目录名%\%~nx0"
  7. echo;S:\提交成品\%当前目录名%|clip
  8. echo;完成:
  9. echo; 1)复制文件
  10. echo; 1)将目标路径复制到了剪贴板
  11. pause & exit /b
复制代码
1

评分人数

TOP

本帖最后由 回家路上 于 2015-8-8 15:41 编辑

回复 6# 228630386


哦,刚看到,哈哈,主要我也碰到个问题,没注意
这个当然也能实现只要改前面一点就行了
  1. @echo off
  2. set "dirpath=%~dp0"
  3. set "des=S:\提交成品\"
  4. set 当前目录名=%dirpath:*备份数据\=%
  5. set 当前目录名=%当前目录名:~0,-1%
  6. md "%des%%当前目录名%" >nul 2>&1
  7. xcopy /e /y "%dirpath:~0,-1%" "%des%%当前目录名%"
  8. del /q "%des%%当前目录名%\%~nx0"
  9. echo;%des%%当前目录名%|clip
  10. pause & exit /b
复制代码
我也是初学这个,写的不好哈

要复制那个目录就放在那个目录下运行

TOP

回复 8# 228630386


什么错误?
这种根目录名字是不定的,层数估计也是不定的,要复制的目录相对位置也是不定的,我就不会了。
坐等逻辑能力比较强的人吧。

TOP

回复 16# 228630386


看高手写的代码就是好,有层次感,逻辑清楚。

哦,目录X是一定有了呀。我当时就在想嘛
目录有和没有怎么判定
有的话到底可能同时有几个
        如果有多个
                拷贝几个
                        拷贝一个的话拷贝那种条件的
                        拷贝多个的话哪个的路径复制到剪贴板

你的目录结构是这样的,                               
        根目录名称不定
                  |
                  |__要拷贝目录名称不定
                                        |
                                        |_____目录N
所有都是不定的,就没法判定目录N是不是存在了

要判定的话就得给个定的条件任意给以下一个条件:
        1)根目录名称
        2)根目录上级名称
        3)目录N名称或者命名规则
        目录N到底可能同时有几个
                如果有多个
                        拷贝几个
                                拷贝一个的话拷贝【哪种条件】的
                                拷贝多个的话哪个的路径复制到剪贴板

TOP

回复 20# 228630386


高手都到这儿了,必须学习O(∩_∩)O~
放在第一级目录下(不管有没有二级目录)
  1. @echo off
  2. set "fd=F:\提交成品\"
  3. for /f "delims=" %%i in ('dir /ad /b^|findstr "【[^^【】]*】"') do set chd=\%%i
  4. set dd=%~dp0
  5. for /f "delims=" %%i in ("%dd:~0,-1%") do (
  6. set rootd=%%~dpi
  7. set td=%%~ni%chd%
  8. )
  9. if not exist "%fd%%td%" md "%fd%%td%"
  10. xcopy /e /y "%rootd%%td%" "%fd%%td%"
  11. echo;%fd%%td%|clip
  12. echo;目标路径已复制到剪贴板,按Ctrl+V即可粘贴&ping -n 2 0 >nul
  13. pause & exit /b
复制代码

TOP

返回列表