找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20290|回复: 2

[文件操作] 批处理保留目录结构移动在 mac/linux 下生成的 .* 文件(夹)

[复制链接]
发表于 2012-3-18 07:07:34 | 显示全部楼层 |阅读模式
  1. echo off & cls

  2. rem 作用:将 mac/linux 上生成的以 . 开头的文件(夹)按原目录结构移动到 ".\macShit\年月日_时分秒毫秒" 文件夹下
  3. rem 在 WinXP/Win7 下测试成功,运行完此批处理后,可打开 macShit 文件夹,里面的东西是删除、还是按原路径放回,就随自己了。
  4. rem 在 mac/linux 使用 U 盘后,到 windows 上会发现 U 盘里多了许多以 . 开头的文件或文件夹
  5. rem 这些都是 mac/linux 所建立的缓存文件、回收站 等等
  6. rem mac/linux 的缓存文件在 windows 上毫无用处
  7. rem 而回收站……用惯了 windows,在 U 盘里删除东西时已经做好了无法后悔的觉悟(无论如何想后悔的时候就用——EasyRecover)
  8. rem 于是这个批处理诞生了……

  9. setlocal enableextensions enabledelayedexpansion

  10. rem 获取 日期、时间,生成路径 "shitName"
  11. for /f "tokens=3" %%a in ('REG QUERY "HKEY_CURRENT_USER\Control Panel\International" /v sDate 2^>nul') do set "sDate=%%a"
  12. for /f "tokens=3" %%a in ('REG QUERY "HKEY_CURRENT_USER\Control Panel\International" /v sTime 2^>nul') do set "sTime=%%a"
  13. for /f "tokens=1-3 delims=%sDate% " %%a in ("%date%") do set "uDate=%%a%%b%%c"
  14. for /f "tokens=1-4 delims=%sTime%." %%a in ("%time%") do set "utime=%%a%%b%%c%%d"
  15. set "uDate=%uDate: =0%"
  16. set "uTime=%uTime: =0%"

  17. set "shitFolder=macShit"
  18. set "shitName=%shitFolder%\%uDate%_%uTime%"

  19. rem 遍历所有以 . 开头的 shit,并调用 :moveShit 将其移动
  20. for /f "tokens=* delims=" %%a in ('dir/b/s/a/og .*') do (
  21.         rem 跳过本目录下的 %shifFolder% 文件夹
  22.         echo %%a | findstr /i /r "\<%cd%\%shitFolder%" >nul2>nul || (
  23.                 call :moveShit "%%a"
  24.         )
  25. )

  26. endlocal
  27. pause
  28. exit/b

  29. rem 按照原文件、目录结构移动到 "macShit\日期_时间" 文件夹下
  30. :moveShit
  31.         set "newPath=%~d0\%shitName%%~p1"
  32.         if exist "%~1". (
  33.                 if not exist "%newPath%". md "%newPath%"
  34.                 attrib -s -h -r "%~1"
  35.                 move "%~1" "%newPath%"
  36.                 echo moved: %~1
  37.         )
  38. goto :eof
复制代码
发表于 2012-3-18 09:16:36 | 显示全部楼层
enableextensions这个删掉也没有问题吧?
 楼主| 发表于 2012-3-19 21:45:48 | 显示全部楼层
确实,在这里没有用到,习惯了一写批处理就把它打上去……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 19:50 , Processed in 0.017091 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表