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

[文件操作] 【已解决】如何将指定目录下的文件及文件夹按原有目录结构复制到别的目录里

本帖最后由 pcl_test 于 2017-4-23 23:54 编辑

批处理是否可以命令将指定文件复制,并生成链接?
假如是 E:\备分数据\【PPT】王老吉 123 完成图,文件夹中还有子文件和内容,
能否实现将【PPT】王老吉 123 完成图文件下的所有内容复制到指定的位置:如S:\提交成品\,这个路径中,并自动生成链接
即S:\提交成品\【PPT】王老吉 123 完成图,并带有此连接的复制功能,可以在QQ之类直接发出来?

假如是  E:\备分数据\【PPT】王老吉 123 完成图\目录-1,即需要生成的链接是S:\提交成品\【PPT】王老吉 123 完成图\目录-1

E盘中的文件夹名不固定,只有S:\提交成品\是固定,需要拷贝的链接有两个可能,一级目录和二级目录。

回复 2# 回家路上


    嗯,差不多就是这个意思,就是要把当前文件夹内容复制到服务器中,因为要发出链接,通知别人这是已完成的链接,但每天重复做这样的工作好多次。
  如果成可直接运行命令能把当前文件夹的内容直接拷上去并生成链接的话,哪就不用每次都要打开哪文件夹去复制链接。

TOP

回复 4# 回家路上


    太强大了,但可否再多加一项就是如果还有一个下级目录的话,也能提取到名称么?
    因为有时候是一级目录下有多个子文件夹,有时候是二级目录下有好多个子文件夹,能否两个都同时做到呢?就是命令能否检测到?
    E:\备分数据\【PPT】王老吉 123 完成图
    复制出来的链接可以是 F:\提交成品\【PPT】王老吉 123 完成图

    E:\备分数据\【PPT】王老吉 123 完成图\目录-1
    复制出来的链接可以是 F:\提交成品\【PPT】王老吉 123 完成图\目录-1

TOP

回复 4# 回家路上


    是否这种二目录链接提取是不可以实现呢?

TOP

本帖最后由 228630386 于 2015-8-8 15:57 编辑

回复 7# 回家路上


    这个运行时出错了,不知是什么原因呢?
    假如E盘哪个文件夹不是叫备份数据可以么?能否改成什么文件名都能通用?

TOP

回复 9# 回家路上


   命令可以运行了,真心非常感谢,但拷贝出来的链接也是没有显示子目录。即目录-1
 不过能做到这一步已经可以让我们工作起来方便很多了,如果可以实现一下在E盘中的文件名无论是什么文件名都能执行就更好
   因为每个人的路径都不一样,请问还有其它大神能帮帮忙么?

TOP

回复 11# pcl_test


    我QQ找你了,你应该是没上QQ,哪只有区分成二种方法去做。一级目录已经解决了,哪指定这样的二级目录和命令能实现么用命令去操作么?
 假如是  E:\备分数据\【PPT】王老吉 123 完成图\目录-1,即需要生成的链接是S:\提交成品\【PPT】王老吉 123 完成图\目录-1

TOP

回复 13# pcl_test


    F:\提交成品\【PPT】王老吉 123 完成图\001 - 副本 (9)
    测试了一下,但复制出来的链接是等于这个,并非目录-1,难道没有办法能解决?

TOP

回复 15# pcl_test


    可以了,应该是我刚才拷贝命令的时候拷错了。非常感谢大家,再加上你上次帮我弄的批处理添加标记,整理流程连在一起工作起来真的方便很多。
  目前一级和二级目录只能分开两个命令去处理,这样也方便不小了。

TOP

回复 17# 回家路上
  
 经你这么分析,他们的确有一些规律,就这命名中的中括号有区别:
  如果是一级目录通常用【】开始命名,全角中括号中会有英文:如【ppt】批处理之家
  
  如果是二级目录通常用 [] 开始命名,下级目录是用【】开始命名,半角中括号中会有英文:如 [ppt]批处理之家\【PPT】批处理之家-1

  然后目录N的文件命名通常是数字+一个空格或者两个空格+数字或者英文:如1 692112156, 8 692546122156

TOP

回复 19# pcl_test
   
但要跟你之前给我的命令放在一起要怎么改呢?还是要大神帮忙,感激不尽!!!
@echo off & setlocal enabledelayedexpansion
set "fd=F:\提交成品"
if not exist "%fd%" md "%fd%"
pushd ..
for /f "delims=" %%i in ("%cd%") do set "td1=%%~nxi"
popd
for /f "delims=" %%j in ("%cd%") do set "td2=%%~nxj"
for /d %%a in (*) do xcopy "%%a" "%fd%\%td1%\%td2%\%%a\" /s /y
::win7及以上系统才有clip
echo;%fd%\%td1%\%td2%|clip
echo;目标路径已复制到剪贴板,按Ctrl+V即可粘贴&ping -n 2 0 >nul

TOP

回复 21# pcl_test
回复 22# 回家路上

真心感谢两位大侠,完美的解决了这个问题,因为我提出问题时没想到这么多的细节,让你们费心了!!!

TOP

返回列表