标题: [文件操作] [已解决]求助批处理怎么根据模板复制重命名日期格式并移动到对应日期文件夹? [打印本页]
作者: 1139054012 时间: 2024-3-26 15:53 标题: [已解决]求助批处理怎么根据模板复制重命名日期格式并移动到对应日期文件夹?
本帖最后由 1139054012 于 2024-3-27 10:54 编辑
怎么根据模板文件批量复制重命名日期格式并移动到对应日期文件夹?
目录下有个temples.xls文件
我想批量按指定年月复制这个文件并重命名
根据指定开始日期
2024/03/01
2024/04/01范围来生成文件
如果这里改成2025/05/01
生成两个月文件
就按照日期文件夹
2024年03月
2024年04月
把对应日期的文件复制对应文件夹
文件复制日期模板格式
模板2024.03.01.xls
.......
模板2024.03.31.xls
作者: aloha20200628 时间: 2024-3-26 18:07
本帖最后由 aloha20200628 于 2024-3-26 18:17 编辑
回复 1# 1139054012
以下代码存于目标文件(temples.xls)所在的目录下运行。
其运行结果是在该目录下创建了两个子目录》"2024年03月" 和 "2024年04月";
在第一个子目录中用目标文件复制出31个文件,其命名格式如 2024.03.nn.xls;
在第二个子目录中用目标文件复制出30个文件,其命名格式如 2024.04.nn.xls。
- @echo off &setlocal enabledelayedexpansion
- set "sF=temples.xls"
- set "m3=2024年03月"&set "m4=2024年04月"
- (md "%m3%"& md "%m4%") 2>nul
- for /L %%n in (1,1,31) do (set "d=0%%n"© /y "%sF%" "%m3%\2024.03.!d:~-2!.xls")>nul
- for /L %%n in (1,1,30) do (set "d=0%%n"© /y "%sF%" "%m4%\2024.04.!d:~-2!.xls")>nul
- exit/b
复制代码
作者: 77七 时间: 2024-3-26 20:17
借助ai写了一条powershell命令- @echo off
- rem 批处理保存为ansi编码格式
-
- set s=2024-03-01
- set e=2024-04-30
- cd /d "%~dp0"
- set n=0
- :loop
- for /f "tokens=1-3 delims=-" %%a in ('powershell -c "Get-Date '%s%' | ForEach-Object { $_.AddDays(%n%).ToString('yyyy-MM-dd') }"') do (
- if "%s:~0,7%" neq "%e:~0,7%" (
- md "%%a年%%b月" 2>nul
- copy "temples.xls" "%%a年%%b月\模板%%a.%%b.%%c.xls"
- ) else (
- copy "temples.xls" "模板%%a.%%b.%%c.xls"
- )
- if "%%a-%%b-%%c" lss "%e%" (
- set /a n+=1
- goto :loop
- )
- )
- pause
复制代码
作者: 1139054012 时间: 2024-3-27 10:53
回复 2# aloha20200628
感谢,但是我这里双击报错,不知道什么原因
作者: aloha20200628 时间: 2024-3-27 11:30
回复 4# 1139054012
什么鬼能把代码行 set "sF=temples.xls" 一刀两断?楼主是复制的完整代码吗?
保存的代码脚本(例如 test.bat)是与目标文件temples.xls在同一目录吗?
二楼代码已在模拟楼主提供的示例环境中测试通过...
作者: 1139054012 时间: 2024-3-27 11:39
回复 5# aloha20200628
是在同一目录下双击执行,直接复制的代码,保证bat路径没中文特殊符号,保存编码是ANSI格式,不知道为什么执行就这样
电脑系统是win10专业版22H2 内部版本19045.2728
3楼的代码就能正常执行,所以很奇怪
作者: aloha20200628 时间: 2024-3-27 12:36
回复 6# 1139054012
在win10系统环境下(22H2 内部版本19045.3324)再测试一遍,完好通过。
麻烦楼主能把存盘运行的test.bat文件内容粘贴出来看看吗?
作者: 1139054012 时间: 2024-3-27 14:02
本帖最后由 1139054012 于 2024-3-27 14:05 编辑
回复 7# aloha20200628
谢谢,知道问题出在哪里了,代码本身没问题,回家用自己电脑测试一遍成功了
也不知道公司电脑什么鬼,就是没法成功运行
作者: 77七 时间: 2024-3-27 15:52
回复 8# 1139054012
作为外行人,我有一个不成熟的猜想,试试在代码第二行多写几个汉字试试,记得用 rem 注释掉,看看结果如何
作者: 1139054012 时间: 2024-3-27 16:31
回复 9# 77七
我把家里电脑运行正常的bat复制到公司电脑就成功运行了,应该手机复制粘贴保存txt那一步复制了看不见的符号,或者保存编码时出了问题,现在用运行正常的bat一点问题也没
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |