![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 15:43 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 高手请帮忙看看这个批处理防删文件夹 |
| 可打印版本 4,964 / 46 |
| 第31楼 fastslz | 发表于 2008-06-28 19:15 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
补充
把代码里start "" D:\TMP\sm..\替换成start "" "%CurDir%sm..\" |
|
| 第32楼 philon | 发表于 2008-06-28 20:04 |
| 初级用户 发帖 19 积分 42 | |
|
楼上,我测试了复制.cmd,还是没有把空文件夹复制到sm..\中
[ Last edited by philon on 2008-6-28 at 08:24 PM ] |
|
| 第33楼 HAT | 发表于 2008-06-28 20:46 |
| 版主 发帖 5,017 积分 9,023 | |
|
用/e也不行?
/E Copies directories and subdirectories, including empty ones. Same as /S /E. May be used to modify /T. |
|
| 第34楼 philon | 发表于 2008-06-28 20:49 |
| 初级用户 发帖 19 积分 42 | |
|
是的,加了/e后,也没有复制过去,而且出现了不能进行周期性复制的提示,复制过去的只有非空目录和它里面的文件,当前目录下的文件都没有复制过去
|
|
| 第35楼 fastslz | 发表于 2008-06-28 21:00 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
有必要处理空文件夹吗?
|
|
| 第36楼 philon | 发表于 2008-06-28 21:22 |
| 初级用户 发帖 19 积分 42 | |
|
fastslz
你真是高手,非常感谢!这次好了。达到了我预想的目的!再次感谢~ 我把 cls&echo 正在复制文件 "%~1" ...... 改成了 cls&echo 正在复制文件 ...... 哈哈 |
|
| 第37楼 xypcmac | 发表于 2008-06-28 21:31 |
| 初级用户 发帖 80 积分 167 | |
Originally posted by HAT at 2008-6-28 17:34: 先把要复制进 “sm.” 文件夹的文件、文件夹复制到其它地方然后再复制回来也一样。 |
|
| 第38楼 fastslz | 发表于 2008-06-28 22:08 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by philon at 2008-6-28 21:22: |
|
| 第39楼 philon | 发表于 2008-06-28 22:49 |
| 初级用户 发帖 19 积分 42 | |
|
再请教一下,我用您的代码后,不能更改要创建的文件夹名字?sm不能换成别的名字?比如wd或者干脆叫私密文件夹吗?是不是和那个6b7e~1有关啊,它是干吗用的?等待您的答复。
|
|
| 第40楼 HAT | 发表于 2008-06-28 23:40 |
| 版主 发帖 5,017 积分 9,023 | |
|
汗水,你还没有搞清楚sm6b7e~1是怎么来的?
12楼讲的很明白啊,dir /x |
|
| 第41楼 xypcmac | 发表于 2008-06-28 23:44 |
| 初级用户 发帖 80 积分 167 | |
|
看图:
![]() |
|
| 第42楼 philon | 发表于 2008-06-28 23:48 |
| 初级用户 发帖 19 积分 42 | |
|
是啊,就是没法把sm改成别的名字。
|
|
| 第43楼 fastslz | 发表于 2008-06-28 23:52 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
当Name变量没有定义或定义为空格字符时 rd /s/q %Name%..\将执行删除父目录里所有文件夹,任何损失和本人无关,所以请不要随便更改代码 |
|
| 第44楼 quya | 发表于 2008-06-28 23:53 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
其实这种文件夹也好删除的, 称不上私密文件夹。
因为就像12楼说的, dir/x 什么都出来了。 比如 md g..\ 其实就可以 cd ge276~1, 然后随便你怎么搞了。道理和 sm6b7e~1一样 |
|
| 第45楼 philon | 发表于 2008-06-29 01:15 |
| 初级用户 发帖 19 积分 42 | |
|
感谢hat兄,感谢fastslz兄,感谢12楼的朋友。
我终于做成了我需要的p文件。我的p文件为:防删文件夹.bat 要创建的文件夹叫:私密文件夹..\ 把当前目录下除防删文件夹.bat和私密文件夹..\以外的所有文件、文件夹复制到私密文件夹..\中。我修改了fastslz兄的代码如下: @echo off&mode con cols=80 lines=12 setlocal enabledelayedexpansion set CurDir=%~dp0 title 创建或删除一个私密文件夹 if not exist 私密文件夹..\nul ( md 私密文件夹..\ color 5a&cls&echo.&echo 私密文件夹已创建!当前目录下的所有内容将被拷贝到私密文 件夹中...&ping/n 2 127.1>nul for /f "delims=*" %%a in ('dir/ad/s/b "%CurDir%"^|findstr /i /v "\私密文件 夹."') do md "%CurDir%私密文~1\%%~nxa" for /f "delims=*" %%i in ('dir/a-d/s/b "%CurDir%"^|findstr /i /v "\防删文件 夹."') do ( set "SourceFile=%%i" set "DestinationFile=!SourceFile:%CurDir%=!" call :xxxx "!SourceFile!" "%CurDir%私密文~1\!DestinationFile!" ) ping/n 2 127.1>nul start "" "%CurDir%私密文件夹..\" ) else ( rd /s/q 私密文件夹..\ color 5e&cls&echo.&echo 私密文件夹已删除!&ping/n 2 127.1>nul ) color 5b&cls&echo.&echo 重复执行重新创建或删除!&ping/n 3 127.1>nul exit :xxxx cls&echo 正在复制文件%status% xcopy /y/h/r "%~1" "%~dp2" >nul set status=%status%. goto:eof 注,虽然没什么大的用处,但使我学习了一些东西,再次感谢几位热心的朋友! |
|
| 上一页 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |