Board logo

标题: [文件操作] 批处理怎样复制目录树并创建空文件? [打印本页]

作者: 墨者革离    时间: 2010-9-14 18:26     标题: 批处理怎样复制目录树并创建空文件?

求助,批处理复制目录树并创建空文件.


前因: 因存储于单位电脑中的个人公文不想让别人抄袭, 故而将所有文档放入加密磁盘中.
       想在电脑中其它位置建立一个目录,目录中有同样的个人公文.但每个文档都是空文档,或者是乱码.
后果:别人偷偷打开我的电脑,查看或者复制我的文件时,每个文件其实都是空的.
本人对批处理不太精通,但知道可以做到.
我是这么想:
手动复制原来文档目录,用批处理将目录及子目录中所有文件内容替换为空,或者乱码.
批处理写法
1.利用
echo.&set /p file=拖入:
cd %file%
实现可以拖放操作,识别目录,并进入到该目录下
2.用DIR查找到该目录下所有文件列表.
3.用ECHO xxxxx >*.* 用乱码文字替换所有文档内容.
----具体细节不会写.
这样全个批处理还可以充当文件粉碎机的作用,将一个要粉碎的目录,用乱码替换掉所有文件,然后删除,会造成文档的彻底损坏,即使用恢复工具恢复过来,也已不是原来文件.
我这样想不知道对不对?请帮助写一个这样的批处理.
------求助!

[ 本帖最后由 墨者革离 于 2010-9-14 22:48 编辑 ]
作者: Batcher    时间: 2010-9-14 19:08

据说用0循环填充7次才能达到比较好的效果
作者: 523066680    时间: 2010-9-14 19:58

这样的做法不是很矛盾么,既然要销毁,为什么要复制过去。

…… 也许根本不该存在那些文件
从一开始就生成一堆同样名字的东西在那里,这样就是陷阱。
作者: 墨者革离    时间: 2010-9-14 20:24

我是这个意思,用批处理,复制一个目录下所有文件。
但仅复制所有文件的文件名和后缀名,不复制文件真正内容。
也就是虚拟目录,和所有文件。
作者: 523066680    时间: 2010-9-14 20:34

顶楼标题明显带着我们绕了一个大弯……
这是一个基础操作,花些手工,我旁观。
作者: Batcher    时间: 2010-9-14 20:41     标题: 回复 4楼 的帖子

能否把这个说明更新到顶楼?
作者: TX_kakashi    时间: 2010-9-14 21:04

http://www.bathome.net/thread-8821-1-1.html
写过个类似的。
作者: 墨者革离    时间: 2010-9-15 00:27     标题: 自己搞定,完美无缺!

  1. @ECHO off&cls&color 0A
  2. ::窗口大小
  3. MODE con: COLS=80 LINES=6
  4. TITLE 【★慎用,销毁文件程序!★】
  5. mshta vbscript:msgbox("警告! 你将要销毁指定目录文件,请慎重操作!!",64,"销毁文件程序")(window.close)
  6. ECHO.
  7. echo.&set /p file=请拖入要粉碎文件的目录:
  8. cd %file%\
  9. mshta vbscript:msgbox("最后一次警告! 销毁文件,请确定!!",64,"销毁文件程序")(window.close)
  10. ::随机代码
  11. setlocal enabledelayedexpansion
  12. set 首位=2345678gh
  13. set 二位=abcdsaljsd
  14. set 三位=sdfsfsdfs
  15. set 四位=uiiuiyuiuy
  16. set 五位=jk,rwtuioo
  17. set 六位=0kjjkkurytr
  18. set 七位=0123456789
  19. set /a Tm1=%random% %% 7
  20. set 数1=!首位:^~%Tm1%,1!
  21. set /a Tm1=%random% %% 10
  22. set 数2=!二位:^~%Tm1%,1!
  23. set /a Tm1=%random% %% 10
  24. set 数3=!三位:^~%Tm1%,1!
  25. set /a Tm1=%random% %% 10
  26. set 数4=!四位:^~%Tm1%,1!
  27. set /a Tm1=%random% %% 10
  28. set 数5=!五位:^~%Tm1%,1!
  29. set /a Tm1=%random% %% 10
  30. set 数6=!六位:^~%Tm1%,1!
  31. set /a Tm1=%random% %% 10
  32. set 数7=!七位:^~%Tm1%,1!
  33. for /f "delims=" %%a in ('dir /s /b /a-d *.*') do (echo 对不起,你打开文件错误,请联系文件作者.错误代码:%数1%%数2%%数3%%数4%%数5%%数6%%数7%? >%%a.)
  34. ::※※※※※※※※※※※※※※※※※※
  35. cls
  36. echo.
  37. echo 20%%%
  38. echo ▇▇▇▇▇▇▇▇▇▇▇▇&&ping 127.1 -n 2 >nul
  39. cls
  40. echo.
  41. echo 40%%%
  42. echo ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&&ping 127.1 -n 2 >nul
  43. cls
  44. echo.
  45. echo 60%%%
  46. echo ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&&ping 127.1 -n 2 >nul
  47. cls
  48. echo.
  49. echo 80%%%
  50. echo ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&&ping 127.1 -n 2 >nul
  51. cls
  52. echo.
  53. echo 100%%% 完成!
  54. echo ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇&&ping 127.1 -n 2 >nul
  55. mshta vbscript:msgbox("你要求的文件已彻底销毁!",64,"销毁文件程序")(window.close)
  56. exit
复制代码

作者: Batcher    时间: 2010-9-15 09:02

完美?所谓的销毁不过是掩耳盗铃吧,呵呵。
作者: batman    时间: 2010-9-19 14:15

我实在搞不明白,一个xcopy就能搞定的事,楼主要这么花费时间和精力。。。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2