9zhmke 发表于 2023-9-3 17:47
在批处理里面使用for取得日期:
再建立一个文件夹,使用move 命令把文件移动到文件夹里就可以了
如果你要 ...
szwp 发表于 2023-9-3 18:59
批处理计算昨天日期码较长,调用vbs或ps可少码。如果天天运行的话可提前建好明天的文件夹
szmsys 发表于 2023-9-3 23:52
谢谢您!是天天运行。麻烦给个成品,谢谢
szwp 发表于 2023-9-3 18:59
批处理计算昨天日期码较长,调用vbs或ps可少码。如果天天运行的话可提前建好明天的文件夹
nttwqz 发表于 2023-9-4 09:06
有高手对算法有研究,昨天日期计算有1行或者几行的,你搜搜就有。
ppll2030 发表于 2023-9-4 10:43
两个关键点,一个昨天日期,一个关键字搜索。
刚好有空,嘚瑟一下。各位大佬轻喷。
szmsys 发表于 2023-9-5 09:31
测试好用!感谢您,高手啊。另外,你这个是根据文件名判断。
能不能做个根据根据文件生成日期来判断的, ...
ppll2030 发表于 2023-9-5 15:42
dir /a-d /tc 参数没错。你看看是不是你看错了。把修改日期看成创建日期了。资源管理器默认显示的修改日期 ...
ppll2030 发表于 2023-9-5 15:50
管理器默认是修改日期,你按图中把创建日期勾上。看看是不是有误。
szmsys 发表于 2023-9-5 16:05
不会错的,是创建时间,。我把系统日期调到昨天,然后新建的文件,然后再把系统日期改成今天
ppll2030 发表于 2023-9-5 16:20
知道问题在哪了。
你任务栏右下角的的日期是不是这样的? 2023/9/5
szmsys 发表于 2023-9-5 16:25
好用了!您真厉害【表情】高人啊
问题又来了
ppll2030 发表于 2023-9-5 16:42
把这一条 reg add "HKCU\Control Panel\International" /f /v "sShortDate" /t REG_SZ /d "yyyy/MM/dd"
...
szmsys 发表于 2023-9-5 17:56
为什么今天生成的含有昨天日期的文件名的文件,还是被移动了?是不是你没去掉根据文件名判断是否移动文件 ...
ppll2030 发表于 2023-9-5 18:10
你是不是用错第一个批处理了
第二个批处理关键字是2023/09/04的格式。这个不可能用作文件名命 ...
szmsys 发表于 2023-9-5 19:39
用的第二个批处理
时间格式是 2023-09-05
看不懂就直接用这个吧。默认是这种格式,应该是wim7系统了。那个BUG我也懒得加码了,太费脑了。直接注册表修改再还原更便捷。这样就可以解决你的问题了。goodluck~!复制代码
- @echo off
- title: 查找和移动前一天创建的文件到前一天命名的文件夹下
- for /f "tokens=3" %%i in ('reg query "HKCU\Control Panel\International" ^| findstr /ilc:"sshortdate"') do set sshortdate=%%i
- reg add "HKCU\Control Panel\International" /f /v "sShortDate" /t REG_SZ /d "yyyy/MM/dd" >nul
- (echo yd=Date(^)-1
- echo wscript.echo yd
- ) > yd.vbs
- for /f %%a in ('cscript yd.vbs') do set yd=%%a
- del /q yd.vbs
- SET YYD=%yd:/=-%
- echo.&echo 即将把%yd%创建的文件全部转移到%YYD%文件夹下。
- echo.&pause
- set p=c:\sample
- md "%p%\%YYD%" >nul 2>nul
- FOR /f "tokens=3,*" %%a IN ('dir /a-d /tc %p% ^| FINDSTR /ilc:"%yd%"') DO move "%p%\%%b" "%p%\%YYD%" >nul
- reg add "HKCU\Control Panel\International" /f /v "sShortDate" /t REG_SZ /d "%sshortdate%" >nul
- cls&echo.&echo %yd%创建的文件转移完成。
- timeout /t 2 >nul
szmsys 发表于 2023-9-6 08:14
试了,能生成文件夹,但是没有转移文件。是不是你的注册表项有问题?
szmsys 发表于 2023-9-6 14:34
又测试了,发现 C:\sample 无效,但是 D:\sample 只移动昨天生成的文件,不移动前天及更早生成的文件,真 ...
ppll2030 发表于 2023-9-6 14:49
你是不是混乱了。我的脚本没出现过D:\sample
szmsys 发表于 2023-9-6 14:58
我把 set p=c:\sample 改成 set p=d:\sample 测试的
批处理,或vbs,在 C:\sample\ 里面生成一个 以昨天的日期为名称的文件夹,比如,今天是2023年9月4日,则生成一个名称是 2023-09-03 的文件夹,然后,把 C:\sampke 文件夹里 生成日期为 2023-09-03 全部文件移动到这个文件夹里,不是此日期生成的文件,不移动。
ppll2030 发表于 2023-9-6 15:10
你都把路径改了。你还想原路径怎么生效
还有,你自己看看标题和要求。自己把自己都搞混了{:1_1 ...
szmsys 发表于 2023-9-6 15:18
那我想改路径,怎么办啊?
batche 发表于 2023-9-5 00:35
有这么简单的批处理算法吗?分享一下,主要是跨月、跨年和日期显示格式的问题,没有日期函数的话,批处理 ...
nttwqz 发表于 2023-9-6 23:39
我觉得楼主的需求描述把人带到了误区,既然每天运行,都要把所谓昨天日期的文件移动到昨天日期的文件夹里面 ...
nttwqz 发表于 2023-9-6 23:39
我觉得楼主的需求描述把人带到了误区,既然每天运行,都要把所谓昨天日期的文件移动到昨天日期的文件夹里面 ...
ppll2030 发表于 2023-9-7 10:43
确实。根据自身日期自动归类更方便了。可以一段时间,或是需要查看的时候,整理一次即可。
szmsys 发表于 2023-9-7 11:13
老大给个成品批处理试试啊
ppll2030 发表于 2023-9-7 23:40
吃完饭练练手。试试看吧。
ppll2030 发表于 2023-9-7 23:40
吃完饭练练手。试试看吧。
ppll2030 发表于 2023-9-7 23:40
吃完饭练练手。试试看吧。
szmsys 发表于 2023-9-8 12:17
把第 06 07 两行的 if 语句去掉,测试成功,不知道这两行干嘛的?
水泊蓝山 发表于 2023-9-8 16:54
win7 不知道有没有 forfiles 命令
ppll2030 发表于 2023-9-8 17:17
还是大佬厉害啊。又学到一招
水泊蓝山 发表于 2023-9-8 16:54
win7 不知道有没有 forfiles 命令
szmsys 发表于 2023-9-8 19:50
就这一行代码就行?连个文件夹路径都没有
ppll2030 发表于 2023-9-8 20:37
有局限性,不过完成你那个修改日期的需求足够了。前提也是你要修改过日期显示不能出现"/"。不然会出错找 ...
szmsys 发表于 2023-9-8 20:54
算了 还是你的靠谱
ppll2030 发表于 2023-9-8 21:04
大佬只是提点。具体需求还是要自己要动手滴。
ppll2030 发表于 2023-9-7 23:40
吃完饭练练手。试试看吧。
szmsys 发表于 2023-9-8 21:09
那你根据提点,弄个稳定普适版
helloman 发表于 2023-9-8 21:42
去掉6-7行,把指定目录下昨日及以前的创建的文件移动到以昨日为文件名的文件夹,也挺方便的
ppll2030 发表于 2023-9-7 23:40
吃完饭练练手。试试看吧。
szmsys 发表于 2023-9-8 23:45
使用中,又发现新问题,能不能只归类昨天及以前的文件,不要归类今天的文件。因为今天的还没完全准备好。 ...
ppll2030 发表于 2023-9-9 00:06
那你用上一个把非当天文件转移到昨天文件夹的脚本一起用呗。
先把昨天以前的转移到昨天文件夹,再用这个 ...
ppll2030 发表于 2023-9-4 10:43
两个关键点,一个昨天日期,一个关键字搜索。
刚好有空,嘚瑟一下。各位大佬轻喷。
szmsys 发表于 2023-9-9 06:24
这个可行。只是,需要用任务计划每天定时运行,所以,还得一个批处理才行。因为昨天的文件夹名称每天都在 ...
szmsys 发表于 2023-9-9 07:15
大佬,能不能加一个判断句?如果没有符合条件的文件,就不新建文件夹,以免每天运行时,产生大量空文件夹 ...
欢迎光临 无忧启动论坛 (http://wuyou.net/) | Powered by Discuz! X3.3 |