Board logo

标题: [文件操作] [已解决]批处理如何替换网页收藏夹? [打印本页]

作者: mxxcgzxxx    时间: 2011-6-4 19:21     标题: [已解决]批处理如何替换网页收藏夹?

本帖最后由 mxxcgzxxx 于 2011-6-5 12:10 编辑

我的网页收藏整理在E:\网页收藏,我想用个批处理找到IE网页收藏文件夹,然后删除所有文件并替换成E:\网页收藏里的文件。
这个批处理要怎么写,用什么方法调取IE网页收藏文件夹(被自定义过位置不是默认位置)的位置?

由于网页收藏在服务器共享盘中,所以要将批处理放在共享盘里,
复制批处理所在目录的所有文件及子目录到当前机的IE收藏文件夹
文件名有特殊字符的,然后要排除批处理本身不复制
作者: CUer    时间: 2011-6-4 21:12

  1. reg query "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Favorites
复制代码

作者: mxxcgzxxx    时间: 2011-6-5 07:31

reg query "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Favorites
CUer 发表于 2011-6-4 21:12


无效,你这样找到的是默认目录:%userprofile%\favorites
%userprofile%=C:\Documents and Settings\Administrator

而我的个人文档实际目录是:D:\我的文档
收藏夹实际位置是:D:\我的文档\Favorites
作者: mxxcgzxxx    时间: 2011-6-5 07:40

本帖最后由 mxxcgzxxx 于 2011-6-5 07:43 编辑

不过还是要感谢你,我通过注册表来查找到了想要的
  1. reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs" /v url1
  2. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites
复制代码
不知你们的注册表这个位置是不是当前的IE收藏夹位,我的是XP系统!最好是通用的
作者: mxxcgzxxx    时间: 2011-6-5 08:42

第一步已解决
  1. @echo off
  2. for /f "tokens=3 delims=[此处为TAB]" %%1 in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites') do set "r=%%1"
  3. for /f "delims=" %%a in ('dir /b/a "%r%"') do if exist "%r%\%%a\" (rd /q/s "%r%\%%a") else del /f/a "%r%\%%a"
  4. xcopy E:\网页收藏 %r% /s>nul
复制代码
新问题来了,因为我的是网盘共享,所以不确定网页收藏的位置,我想将这个批处理放在自己网页收藏夹内
运行时将当前文件夹下的所有文件及子目录复制到本机IE收藏夹内要怎么改?
作者: Batcher    时间: 2011-6-5 10:07

5# mxxcgzxxx


你的具体问题是哪一点?
不会复制当前文件夹下的所有文件及子目录?还是不会确定本机IE收藏夹的路径?
作者: mxxcgzxxx    时间: 2011-6-5 10:36

本帖最后由 mxxcgzxxx 于 2011-6-5 10:38 编辑

6# Batcher
确定收藏位置已解决
现在是复制批处理所在目录的所有文件及子目录的方法我不会
文件名有特殊字符的,然后排除批处理本身
作者: Batcher    时间: 2011-6-5 10:53

7# mxxcgzxxx


用xcopy一下全部复制过去,然后再把多余的批处理文件删掉可以吗?
作者: mxxcgzxxx    时间: 2011-6-5 12:10

本帖最后由 mxxcgzxxx 于 2011-6-5 12:17 编辑

8# Batcher


倒也是办法,就先这样了,谢了
  1. @echo off
  2. for /f "tokens=3 delims=[此处为TAB]" %%1 in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites') do set "r=%%1"
  3. for /f "delims=" %%a in ('dir /b/a "%r%"') do if exist "%r%\%%a\" (rd /q/s "%r%\%%a") else del /f/a "%r%\%%a"
  4. xcopy *.* %r% /s>nul
  5. del %r%\*.bat
复制代码

作者: CrLf    时间: 2011-6-5 14:20

xcopy有个exclude选项
作者: mxxcgzxxx    时间: 2011-6-5 15:27

10# zm900612


好吧!不得不说你太过强大了哈哈,效果太理想了

把最后一句改下:
  1. xcopy *.* %r% /exclude:1.txt /s
复制代码
然后建个1.txt文本
  1. .bat
  2. .exe
  3. .vbs
  4. .cmd
  5. .txt
  6. autoexec
复制代码





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