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

[文件操作] 如何用批处理截取文件名的前五位字符?

遇到一难题,有文件需要进行归档备份,文件名均为8位的数字组成(例如:87159336、87159756、87160981、87131582);请问如何使用批处理自动实现
第一、截取文件名的前5位,建立成文件夹(如:建立文件夹87159、87160、87131)
第二、将文件名前五位与建立的文件夹名称一样的文件存放到对应的文件夹中
求高人指点,谢谢
学习批处理

这些文件都没有后缀名?
Batcher 发表于 2011-5-9 14:34



这些文件都没有后缀名的。
学习批处理

TOP

非常感谢帮助,我试了下,的确不错,谢谢!
另外有两个问题:
2>nul  和 "%%~xa"==""  如何理解?
学习批处理

TOP

非常受教,感谢,感谢!
学习批处理

TOP

请教版主,我按照你的方法做了如下脚本,但是向网络上拷贝的时候,拷贝不成功啊
脚本如下:
  1. ECHO **** READ IP
  2. for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
  3. @ECHO OFF&setlocal enableDelayedExpansion   
  4. set   file=%date:~0,4%%date:~5,2%%date:~8,2%
  5. set   name=%date:~0,4%%date:~5,2%
  6. set   d=%date%
  7. set   t=%time:~0,-3%
  8. echo *****     network
  9. if exist S: net use S: /d /y > NUL:
  10. if exist T: net use T: /d /y > NUL:
  11. net use S: \\192.168.113.240\transfer_record  "manta" /user:"mantauser"
  12. IF ERRORLEVEL 1 goto errormsg
  13. net use T: \\192.168.113.240\epat_data  "manta" /user:"mantauser"
  14. IF ERRORLEVEL 1 goto errormsg
  15. if exist C:\ETT\ecelltest08 set equip=ecelltest08&goto Ecell08
  16. goto end
  17. :ecell08
  18. 2>nul (for %%a in (d:\正常代码\*.*) do if "%%~xa"==""  set a=%%a&md T:\testcell\ecelltest08\正常代码\!a:~0,5!&copy "%%a" T:\testcell\ecelltest08\正常代码\!a:~0,5!)
  19. xcopy D:\正常代码\*.* d:\backup\%name%\正常代码\ /s /y
  20. rem xcopy D:\故障码\*.* T:\testcell\ecelltest08\%name%\ /s /y
  21. IF ERRORLEVEL 1 goto end
  22. rem erase D:\正常代码\ /s /f /q
  23. xcopy D:\异常代码\*.* d:\backup\%name%\异常代码\ /s /y
  24. 2>nul (for %%a in (d:\异常代码\*.*) do if "%%~xa"=="" set a=%%a&md T:\testcell\ecelltest08\异常代码\!a:~0,5!&move "%%a" T:\testcell\ecelltest08\异常代码\!a:~0,5!)
  25. rem xcopy D:\故障码\*.* T:\testcell\ecelltest08\%name%\ /s /y
  26. IF ERRORLEVEL 1 goto end
  27. rem erase D:\正常代码\ /s /f /q
  28. echo %d% %t% ***%equip% IP:%IP%***  ecelltest08_dataupdate is finish!   >>S:\ecelltest08.log
  29. goto end
复制代码
运行结果是:文件拷贝到T:\testcell\ecelltest08 不成功,但是拷贝到d盘的backup没问题;
为什么啊?
学习批处理

TOP

版主帮忙看看啊
学习批处理

TOP

怎么没人回话啊
学习批处理

TOP

返回列表