中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个关于数据删除的问题请教.
<   <<   [1] [2] [3] [4]  >>   >
作者:
标题: 一个关于数据删除的问题请教. 上一主题 | 下一主题
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 31 楼』:  

真奇了怪了 我再试


2008-2-4 01:56
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 32 楼』:  

我是把你的代码粘贴到TXT里,然后修改属性成BAT,这样没错吧?


2008-2-4 01:58
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 33 楼』:  

你是管理员权限用户吗? XP系统是不是精简版的ghostxp? 命令提示符下cscript.exe /?有该命令吗?




2008-2-4 02:02
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 34 楼』:  

是管理员权限用户 不是精简版的 有cscript.exe 命令


2008-2-4 02:06
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 35 楼』:  

那出现 "此时不应有-!"是因为路径没有选对,或者该目录是空目录,代码没作这样的排错处理




2008-2-4 02:11
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 36 楼』:  

可是我放的那个目录里边是有文件和其他目录的啊,晕,简直不懂了 今天真麻烦你了


2008-2-4 02:13
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 37 楼』:  

知道什么原因了,我贪图代码简洁少了2个转换步骤,也奇怪2000不会出现xp反而出现这样的情况 @echo off regedit /e "%temp%\bak.reg" "HKEY_CURRENT_USER\Control Panel\International" call :DateFormat >tmp.vbs echo Wscript.echo FormatDateTime (DateAdd("d",-7,Date),2) for /f "delims=" %%i in ('cscript.exe //nologo tmp.vbs') do set aDate=%%i del tmp.vbs ver|find "2000">nul&&set aDate=%aDate:~2% set aDate=%aDate:-=% setlocal EnableDelayedExpansion for /f "delims=" %%i in ('dir/s/b/a-d xxx\*.*') do ( set fileDate=%%~ti set fileDate=!fileDate:~0,-6! set fileDate=!fileDate:-=! if !fileDate! LSS %aDate% del /q/f "%%i" ) regedit /s "%temp%\bak.reg" del /q "%temp%\bak.reg" pause exit :DateFormat >aDate.reg echo REGEDIT4 >>aDate.reg echo. >>aDate.reg echo [HKEY_CURRENT_USER\Control Panel\International] >>aDate.reg echo "sShortDate"="yyyy-MM-dd" >>aDate.reg echo "sDate"="-" regedit /s aDate.reg del aDate.reg goto:eof




2008-2-4 02:32
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 38 楼』:  

这个问题是解决了 我把机器时间定在2008-1-9日,删2008-1-2的文件,报"系统找不到指定的文件"


2008-2-4 02:39
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 39 楼』:  

系统找不到指定的文件 是('dir/s/b/a-d xxx\*.*')无效路局才出现的 正确方法是('dir/s/b/a-d "D:\FTPSERVER\*.*"') 哎~你也应该掌握点相关知识呀 有问题明天继续吧




2008-2-4 02:50
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 40 楼』:  

嘿,谢谢了 晚安


2008-2-4 02:52
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 41 楼』:  

Originally posted by fzp1978321 at 2008-2-3 19:48: 我在XP上运行了下,是删除C:\1002里7天前的文件,在CMD.EXE如下显示: 7: C:\1002 'NEX'不是内部或外部命令,也不是可运行的程序 或批处理文件 找不到操作 ...
@echo off SET/p TT=天数: SET/p PH=路径: set p1=%date:~0,4% set p2=%date:~5,2% set p3=%date:~8,2% setlocal enabledelayedexpansion for /l %%a in (1,1,3) do ( for /f "delims=0 tokens=*" %%i in ("!p%%a!") do set p%%a=%%i ) if %p3% gtr %TT% goto ppp :nxt set/a p2-=1 if %p2% equ 0 set/a p1-=1&&set p2=12 SET/a PN1=%p1%%%4 set PN2=28 if %PN1% EQU 0 set pN2=29 for /f "tokens=%p2%" %%i in ("31 %pN2% 31 30 31 30 31 31 30 31 30 31") do set/a p3=%p3%+%%i if %p3% leq %tt% goto nxt :ppp set/a p3=%p3%-%tt% set p2=0%p2% set p2=%p2:~-2,2% set p3=0%p3% set p3=%p3:~-2,2% for %%i in ("%PH%\*") do set t=%%~ti &&call :loop "%%~fi" pause goto :eof :loop if not "%~1" == "%~f0" ( IF %p1%%p2%%p3% equ %t:~0,4%%t:~5,2%%t:~8,2% del "%~1" /S/Q/F ) 抱歉 漏一标签 不知道现在怎么样 我这里不是2000系统 [ Last edited by terse on 2008-2-4 at 03:12 AM ]




简单!简单!再简单!
2008-2-4 03:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 42 楼』:  

20: C:\1002 'NEX'不是内部或外部命令,也不是可运行的程序 或批处理文件 找不到操作 变成这样了,晕 也麻烦你了 我删20天前的数据


2008-2-4 03:59
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 43 楼』:  

fastslz,我今天试了下,我在C:\下建立了个FTP文件夹,里面自己做了几个日期为2008-02-04的文件,然后去执行,但是在CMD.EXE中只显示"请按任意键继续",啥动静都没,咋回事呢? 执行代码如下: @echo off regedit /e "%temp%\bak.reg" "HKEY_CURRENT_USER\Control Panel\International" call :DateFormat >tmp.vbs echo Wscript.echo FormatDateTime (DateAdd("d",-7,Date),2) for /f "delims=" %%i in ('cscript.exe //nologo tmp.vbs') do set aDate=%%i del tmp.vbs ver|find "2000">nul&&set aDate=%aDate:~2% set aDate=%aDate:-=% setlocal EnableDelayedExpansion for /f "delims=" %%i in ('dir/s/b/a-d "C:\ftp\*.*"') do ( set fileDate=%%~ti set fileDate=!fileDate:~0,-6! set fileDate=!fileDate:-=! if !fileDate! LSS %aDate% del /q/f "%%i" ) regedit /s "%temp%\bak.reg" del /q "%temp%\bak.reg" pause exit :DateFormat >aDate.reg echo REGEDIT4 >>aDate.reg echo. >>aDate.reg echo [HKEY_CURRENT_USER\Control Panel\International] >>aDate.reg echo "sShortDate"="yyyy-MM-dd" >>aDate.reg echo "sDate"="-" regedit /s aDate.reg del aDate.reg goto:eof pause 执行结果:"请按任意键继续"


2008-2-4 12:34
查看资料  发送邮件  发短消息  网志  OICQ (195690504)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 44 楼』:  

Originally posted by fzp1978321 at 2008-2-4 03:59: 20: C:\1002 'NEX'不是内部或外部命令,也不是可运行的程序 或批处理文件 找不到操作 变成这样了,晕 也麻烦你了 我删20天前的数据
晕了 整个P里都找不到NEX 怎么会这样 我这里测试都好了




简单!简单!再简单!
2008-2-4 13:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 45 楼』:  

没有可删除的文件就显示请按任意键继续 把 del /q "%temp%\bak.reg" pause exit 中间那个pause去掉就可以了 另外你还可以用rar.exe或 WinRAR压缩文件小于%aDate%日期的文件压缩好再删除(有该功能参数的)这样3行VBS代码就解决你全部问题. 我现在办年货了,没时间帮你了,自己看rar帮助琢磨下吧




2008-2-4 14:09
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
<   <<   [1] [2] [3] [4]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: