标题: [文本处理] win7系统bat复制前两月文件夹下的所有文件,代码怎么写? [打印本页]
作者: 7016427 时间: 2015-9-1 19:26 标题: win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
我想9月要复制e:\外勤\前两月下所有文件(也就是9月复制e:\外勤\2015\07\ ),复制到f:\
请问老师,这个批处理文件怎么写?
作者: CrLf 时间: 2015-9-1 20:27
本帖最后由 CrLf 于 2015-9-1 20:32 编辑
- @echo off
- set /a "y=%date:~,4%,m=1%date:~5,2%-2"
- if %m% lss 101 set /a y-=1,m+=12
- xcopy /y "e:\外勤\%y%\%m:~-2%\" f:\
- pause
复制代码
作者: 回家路上 时间: 2015-9-1 20:31
本帖最后由 回家路上 于 2015-9-1 20:52 编辑
- @echo off
- set /a "y=%date:~0,4%,m=1%date:~5,2%-102,b=!(m+(1+2*(m>>31))*m),y-=b,m+=b*12+100"
- xcopy /y /e "e:\外勤\%y%\%m:~-2%\" f:\
- pause
复制代码
作者: CrLf 时间: 2015-9-1 20:35
继续化简:- @echo off
- set /a "m=1%date:~5,2%-102,t=!m|!~m,m+=100+t*12,y=%date:~,4%-t"
- xcopy /y "e:\外勤\%y%\%m:~-2%\" f:\
- pause
复制代码
作者: 7016427 时间: 2015-9-1 21:42 标题: [未解决] 在线请教高手,win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
回复 4# CrLf
2、3、4楼老师,你们好!测试提示无效路径。但是我的路径是正确的。文件夹是按日期命名的,2015下的07
作者: terse 时间: 2015-9-1 21:56
- set /a "m=(1%date:~5,2%+5)%%12+101,y=%date:~,4%-m/111"
- echo;%y% %m:~-2%
复制代码
作者: 7016427 时间: 2015-9-1 22:13
回复 6# terse
你好!我现在再xp测试,结果2015 07
我明天拿到w7系统测试看正确不 ?
作者: 7016427 时间: 2015-9-2 21:11 标题: [始终未解决] 在线请教高手,win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
本帖最后由 7016427 于 2015-9-2 21:17 编辑
回复 1# 7016427
各位老师好!以下代码始终执行时,提示:找不到文件 — *.* ,复制了0个文件。 2015年07月份,执行完毕!
@echo off
set /a "y=%date:~,4%,m=1%date:~5,2%-2"
if %m% lss 101 set /a y-=1,m+=12
xcopy /y "e:\外勤\%y%\%m:~-2%\*.*" d:\
echo %y%年%m:~-2%月份%,执行完毕!
pause
平时创建目录是执行的如下批处理文件,是否错误与此有关?
@echo off
set /p d="创建日期目录: (注意日期格式:2015-05-01)"
md e:\外勤\%d%
pause
作者: pcl_test 时间: 2015-9-2 21:48
勿重复发帖
http://www.bathome.net/thread-37158-1-1.html
贴出你的“e:\外勤”文件夹下的截图
你的创建文件的格式与你顶楼“e:\外勤\2015\07\”并不一致
set /p d="创建日期目录: (注意日期格式:2015-05-01)"
md e:\外勤\%d%
作者: 7016427 时间: 2015-9-2 22:04 标题: 【补充】 在线请教高手,win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
回复 9# pcl_test
你好!在w7系统上,那个创建目录代码,如2015年07月05日创建的目录显示为e盘“外勤”下显示:2015、07、05,三个文件夹!
作者: pcl_test 时间: 2015-9-2 22:14
回复 10# 7016427
set /p d="创建日期目录: (注意日期格式:2015-05-01)"
md e:\外勤\%d%
如按提示格式2015-05-01输入,表示生成的是e:\外勤\2015-05-01,那么你的“e:\外勤”的文件夹结构是怎样的?截图看看,图片过大可发网盘分享链接
或者使用如下命令,把生成的txt文件用附件或网盘分享链接发出来
tree e:\外勤 /f >out.txt
作者: 7016427 时间: 2015-9-2 22:29
回复 11# pcl_test
在w7系统上显示如图
作者: pcl_test 时间: 2015-9-2 22:37
回复 12# 7016427
xcopy /y /e "e:\外勤\%y%\%m:~-2%" d:\
作者: 7016427 时间: 2015-9-2 22:47
回复 13# pcl_test
请问老师这里,参数“y”和“e”分别起什么作用?
作者: pcl_test 时间: 2015-9-2 22:52
回复 14# 7016427
xcopy /?
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
作者: 7016427 时间: 2015-9-2 23:11 标题: 【谢谢】 win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
回复 15# pcl_test
谢谢老师指点!我明天在单位w7上测试,刚才那个文件夹截图我是在家xp系统上按照w7情况截图的。
作者: 7016427 时间: 2015-9-3 16:23 标题: [未得到解决]win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
[未得到解决]回复 13# pcl_test
xcopy /y /e "e:\外勤\%y%\%m:~-2%\*.*" d:\
今天我在win7系统上执行时,仍然错误提示:系统找不到指定文件。最后显示已了38个文件。请问老师怎么解决!
作者: pcl_test 时间: 2015-9-3 17:29
本帖最后由 pcl_test 于 2015-9-3 17:33 编辑
回复 17# 7016427
回看11、13楼
作者: 7016427 时间: 2015-9-3 22:01
回复 18# pcl_test
你好!我的文件夹结构就是13楼那样的!
作者: pcl_test 时间: 2015-9-3 22:11
回复 19# 7016427
图都没有,说又说不清,别再问我了
xcopy /y /e "e:\外勤\%y%\%m:~-2%" d:\ 2>nul
作者: 7016427 时间: 2015-9-3 22:20 标题: [请教老师]win7系统bat复制前两月文件夹下的所有文件,代码怎么写?
[请教老师]回复 20# pcl_test
xcopy /y /e "e:\外勤\%y%\%m:~-2%" d:\ 2>nul
你好!红色处是什么意思?
作者: 7016427 时间: 2015-9-3 22:51
回复 21# 7016427
@echo off
set /a "y=%date:~,4%,m=1%date:~5,2%-2"
if %m% lss 101 set /a y-=1,m+=12
del d:\备份\*.* /q
xcopy /e /y "e:\外勤\%y%\%m:~-2%\*.*" d:\备份\
del "e:\外勤\%y%\%m:~-2%\*.*" /q
rd "e:\外勤\%y%\%m:~-2%
echo %y%年%m:~-2%月份%,执行完毕!
pause
实际就是以上红色3句未执行成功!请问各位老师,怎么修改?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |