返回列表 发帖
回复 15# erjnasrtnws


    把14行改成
set wql=where "drive='%Desktop:~0,2%' and path='%MyPath:\=\\%' and extension!='LNK'"COPY
1

评分人数

    • erjnasrtnws: OK 可行了 请大侠关注下15楼 我刚刚写的 谢 ...技术 + 1

TOP

本帖最后由 erjnasrtnws 于 2015-11-26 13:44 编辑

回复 16# WHY

很好!!! 谢谢
只差一步就完美了  可否试下?? 呵呵

补充更正 ----   实现和3楼差不多的效果,就是把不是今天新建的文件(是从其它盘拷贝到桌面上的不是今天的文件)也可以放入归档到(以今天的日期命名的文件夹)之中

TOP

回复 17# erjnasrtnws


    顶楼并没有这种要求啊,3楼的代码我没有试,以下代码不知道是不是你想要的:
@echo off
set "s=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "tokens=2*" %%i in ('reg query "%s%" /v Desktop') do (
    set "Desktop=%%j"
)
set "MyPath=%Desktop:~2%\"
set wql=where "drive='%Desktop:~0,2%' and path='%MyPath:\=\\%' and extension!='LNK'"
(for /f "tokens=1*" %%i in ('wmic datafile %wql% get creationdate^,name^|find "\"') do (
    set "D=%%i"
    setlocal enabledelayedexpansion
    for %%k in ("%Desktop%\归档\!D:~0,8!") do (
        endlocal
        for /f "delims=" %%j in ("%%j") do (
            if /i not "%%~fj" == "%~f0" (
                md "%%~k\"
                move "%%~fj" "%%~k\"
            )
        )
    )
)) 2>nulCOPY
1

评分人数

TOP

回复  ygqiang
大侠请问,你的代码XP可以使用吗?我在XP中使用发现桌面的文件的确没有了呵呵 这效果很好  ...
erjnasrtnws 发表于 2015-11-25 10:12



    xp/win7 64系统都测试过。。。除了快捷方式不改动。。。
其他都正常。。。

TOP

回复 18# WHY

厉害啊 您的代码这么简洁啊 呵呵
达到了我想要的效果了 好像有点小问题 日期不对一下子生成两个日期  你看下图片 我刚刚测试的


希望大侠改进一下
补充 大侠可以保留昨天 和之前的文件不动吗 ??我只想归档当天的文件可以吗!!麻烦了

TOP

回复 19# ygqiang


OK  谢谢回复  可能我电脑有些问题  装的精简版XP的  我有空去其他电脑试下

TOP

回复 20# erjnasrtnws


    14楼的意思是,把桌面上今天(2015/11/26)创建的文件移动到 桌面\归档\20151126 文件夹中,这也是你在顶楼要求的

18楼的意思是,把桌面上除LNK快捷方式和批处理自身以外的文件移动到“桌面\归档\以文件创建日期命名”的文件夹中。之所以出现两个以日期命名的文件夹,是因为有两种不同日期创建的文件

TOP

本帖最后由 erjnasrtnws 于 2015-11-26 11:29 编辑

回复 22# WHY


哦  不好意思 大侠看的如此仔细 !谢谢了  我一定认真修改下!

TOP

本帖最后由 erjnasrtnws 于 2015-11-26 13:50 编辑

回复 22# WHY

谢谢大侠指正 不好意思啊  表达不准确我已更正

TOP

本帖最后由 erjnasrtnws 于 2015-11-26 14:05 编辑

回复 16# WHY


    请问大侠 如果有相同文件就直接覆盖了,请教如何不要覆盖,直接变成   名称-1  名称-2 这样形式的  
大侠有空的话   帮忙在看看吧 谢谢了 !!!

TOP

谢谢热心的各位大侠 问题已经解决很好了 虽然离完美只差一步 已经非常满意了 !!!对帮我解答的大侠,再次衷心说声谢谢了,好人一生平安!!!!

TOP

回复 26# erjnasrtnws


    最终代码是啥?都需要用到哪些exe文件?

TOP

本帖最后由 erjnasrtnws 于 2016-1-9 13:41 编辑

回复 27# ygqiang
@echo off
set "s=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "tokens=2*" %%i in ('reg query "%s%" /v Desktop') do (
    set "Desktop=%%j"
)
for /f %%i in ('wmic os get LocalDateTime^|findstr /b [0-9]') do (
    set "Today=%%i"
)
set "Today=%Today:~0,8%"
md "%Desktop%\归档\%Today%\" 2>nul
set "MyPath=%Desktop:~2%\"
set wql=where "drive='%Desktop:~0,2%' and path='%MyPath:\=\\%' and extension!='LNK'"
for /f "tokens=1*" %%i in ('wmic datafile %wql% get creationdate^,name^|findstr /b %Today%')do (
    for /f "delims=" %%j in ("%%j") do (
        if /i not "%%~fj" == "%~f0" move "%%~fj" "%Desktop%\归档\%Today%\"
    )
)
pauseCOPY
我现在就用的这个 感觉横好  不需要EXE的
你可以试试 只处理桌面上的今天产生的文件  在桌面上已日期归档 (是移动文件不是复制)
这么好的论坛!!!!

TOP

返回列表