zoukankan      html  css  js  c++  java
  • 批处理复制最新的文件夹里面的bmp文件到指定目录

    批处理复制最新的文件夹里面的bmp文件到指定目录
    悬赏分:200 - 解决时间:2008-9-23 14:28
    A机为服务器,B机为普通电脑。两台电脑里的共享文件均可以互访。
    B机里面有一个文件夹“D:\question\new”里面有随机命名的文件夹。而且经常更新。
    要求:在A机上运行批处理命令B.bat。批处理要达到的结果为:
    要将B机D盘“question”里的“new”文件夹里最后建立的一个文件夹中的所有bmp文件复制到A机的E盘的old文件夹下。而且,如果A机E盘old文件夹里有同名文件,则把复制过来的文件的文件名前面加字母“n”。
    问题补充:
    谁回答的正确,分数就给谁,不分先后,命令不分长短。只要能达到目的就可以了。
    补充:B电脑的IP为192.168.1.102
    破人破天的批处理运行没效果,系统提示CMD不支持将UNC路径作为当前目录。不过这个问题可以解决,就是先在批处理中映射网络驱动器,复制完了再断开就好了。
    200分高分悬赏完美解决方案,最好解释每条命令的函意。
    B电脑D盘question目录里面的new里面只有目录,没有文件,而且子目录里面只有文件再没有目录了。如果复制过来后有重名就在前面加n,如果加n后还重复就覆盖。当然,搞成自动编号也行。
    最佳答案
    测试成功! 

    我不会映射网络驱动器,你先写一个批处理:
    第一行:把B的D盘映射为Z盘
    第二行:call B.bat
    第三行:断开Z盘

    我为你写的B.bat:

    功能是将A机Z盘“question”里的“new”文件夹里最后建立的一个文件夹中的所有bmp文件复制到A机的E盘的old文件夹下。而且,如果A机E盘old文件夹里有同名文件,则把复制过来的文件的文件名前面加字母“n”。

    有三个函数,findnewfolder函数找出某个文件夹里最新的文件夹;
    copyandrename函数是智能复制,如果重名的话文件名加上n并递归;
    main函数是主函数,先调用findnewfolder,找不到的话给出错误信息,否则对findnewfolder给出的文件夹里面所有的bmp文件调用copyandrename.
    (都用的是很简单的语句,你一定能看懂)


    @echo off
    setlocal enabledelayedexpansion
    call:main
    pause
    endlocal
    goto :eof

    :main
    if not exist E:\old md E:\old
    call:findnewfolder "Z:\question\new"
    if "!answer!"=="" (
    echo Z:\question\new里找不到文件夹
    exit /b
    )
    for /f "delims=" %%i in ('dir /a:-d /b /s "!answer!"\*.bmp') do (
    call:copyandrename "%%i" "E:\old\%%~nxi"
    )
    exit /b

    :findnewfolder
    for /f "delims=" %%i in ('dir /a:d /b /o:-d %1') do (
    set "answer=%~1\%%i"
    exit /b
    )
    set "answer="
    exit /b

    :copyandrename
    if not exist %2 (
    copy %1 %2
    exit /b
    ) else (
    call:copyandrename %1 "%~dp2n%~nx2"
    exit /b
    )
    摘自:http://zhidao.baidu.com/question/69051536.html
  • 相关阅读:
    高精度计算
    高精度除以低精度
    P1258 小车问题
    POJ 2352 stars (树状数组入门经典!!!)
    HDU 3635 Dragon Balls(超级经典的带权并查集!!!新手入门)
    HDU 3938 Portal (离线并查集,此题思路很强!!!,得到所谓的距离很巧妙)
    POJ 1703 Find them, Catch them(确定元素归属集合的并查集)
    HDU Virtual Friends(超级经典的带权并查集)
    HDU 3047 Zjnu Stadium(带权并查集,难想到)
    HDU 3038 How Many Answers Are Wrong(带权并查集,真的很难想到是个并查集!!!)
  • 原文地址:https://www.cnblogs.com/blsong/p/1605388.html
Copyright © 2011-2022 走看看