[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 /zhqsystem/zhq 于 2015-11-9 03:56 编辑

  1. @echo off
  2. (echo,Windows Registry Editor Version 5.00
  3. echo/
  4. echo,[-HKEY_CURRENT_USER\Software\name]
  5. )>"%~dp0\执行完成后自动删除.reg"
  6. for /f "delims=" %%i in ('type "%~dp0\1.txt"') do (
  7. reg.exe add "hkcu\software\name\%%i" /f
  8. )
  9. for /f "delims=" %%i in ('reg.exe query "hkcu\software\name"') do (
  10. reg.exe query "%%i" >nul 2>nul&&(
  11.   (echo=%%~nxi)>>"%~dp0\1_new.txt"
  12.   reg.exe delete "%%i" /va /f
  13. )
  14. )
  15. timeout/t 1
  16. regedit.exe /s "%~dp0\执行完成后自动删除.reg"&&del/f/q "%~dp0\执行完成后自动删除.reg"
  17. pause
复制代码

上边的是不转换后边的内容,下边的转换并删除无用空格及其标点,各有不同之处,截取字符串也可以不过考虑最后的字符不稳定没有用到
  1. @echo off
  2. rd/s/q "%~dp0\name" 2>nul
  3. for /f "delims=" %%i in ('type "%~dp0\1.txt"') do (
  4. for /f "tokens=1,* delims=:" %%j in ("%%i") do (
  5.   if "%%k"=="**" (
  6.    md "%~dp0\name\%%~nxj.bathome"
  7.   ) else (
  8.    md "%~dp0\name\%%~nxj"
  9.   )
  10. )
  11. )
  12. (for /f "delims=" %%i in ('dir/ad/b/l/on "%~dp0\name\"') do (
  13. if /i "%%~xi"==".bathome" (
  14.   echo,%%~ni::**
  15. ) else (
  16.   echo,%%~ni
  17. )
  18. )
  19. )>1_new.txt
  20. rd/s/q "%~dp0\name" 2>nul
  21. pause
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 7# ads350668398


    第一种是运用注册表自动名称排序功能,会产生无用注册表,但reg delete 不能直接清除项值,所以需要产生清理的文件来删除,第二种利用建立空文件夹,利用dir名称排序重新整理,这种遇到特殊字符也不能用,简单的排序还是可以用的,之后删除临时新建的文件夹,find重复次数太多反复调用会卡顿,所以选择了临时文件提取方式,也是高效的方式
1

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 9# 依山居
不是耐心问题是把新鲜思路共享出去,有助于提高效率,其实我比较反感的是伸手党
我猜的没错的话楼主[不是9楼你啊是楼主]也应该算其中一个,借楼提醒下[楼主]啊"刚才忘发了先借楼吧",不要所有都要依靠他人,这样会产生一种依赖,当到一定程度会造成负面影响,没有他人,自己办不了任何事情,建议:代码不用记只用思路和要的结果,代码的经过是为结果"修路"
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

返回列表