找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25660|回复: 3

[文件操作] bat获取目录名称和文件名称相等就只cp文件名到相等的目录下

[复制链接]
发表于 2015-6-6 10:50:26 | 显示全部楼层 |阅读模式
我a目录下面有 1 2 3 4 5 几个目录 让我从test目录获取的文件名 等于 我从a目录下获取的目录名 就吧这个文件copy过去,
例如,在test目录下面获取的是文件名是2  在a目录下找到目录2  就吧2文件cp到a\2 目录下
发表于 2015-6-6 12:46:18 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /b D:\test') do (
  3.     if exist "C:\a\%%~nxi" (
  4.         copy "%%i" "C:\a\%%~nxi"
  5.     )
  6. )
复制代码
 楼主| 发表于 2015-6-6 13:43:39 | 显示全部楼层
回复 2# bailong360


文件我已经提取出来了是3  但是不知道怎么吧这个3的文件 怎么判断复制到 d:\a\3目录下面
 楼主| 发表于 2015-6-6 15:06:00 | 显示全部楼层
  1. @echo off
  2. echo.
  3. echo.=====================================================================
  4. Setlocal Enabledelayedexpansion
  5. set FolderName=D:\WwwRoot\FTP
  6. for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
  7. set d=%%a
  8. set c=!d:~0,-4!
  9. echo !c!
  10. )
  11. echo.
  12. echo.=====================================================================
  13. set PathName=d:\test
  14. set b=3
  15. echo %PathName%\%b%\News\
  16. echo %b%
  17. if exist "%b%" (
  18.         echo 0
  19. if "%c%" == "%b%" (
  20.         xcopy /e /y %FolderName%\*.* %PathName%\%b%\News\
  21.         echo 文件复制成功!
  22. ) else (
  23.         echo 1
  24.         goto loop
  25. )
  26. ) else (
  27.         echo 1
  28.         goto loop
  29. )
  30. echo.=====================================================================
  31. :loop
  32. pause
复制代码
我在FTP目录下找到了3.txt文件然后去掉了.txt 显示为3 然后去判断如果3 ==3 就执行 CP到test目录3目录下面News目录中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:26 , Processed in 0.015980 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表