Board logo

标题: [文件操作] bat自动解压更新chrome浏览器的遇到一个低级问题 !! [打印本页]

作者: zhqiao    时间: 2018-9-18 22:59     标题: bat自动解压更新chrome浏览器的遇到一个低级问题 !!

本帖最后由 zhqiao 于 2018-9-18 23:08 编辑

高手帮忙!

国内使用chrome需要手动下载, 再解压得到chrome全部文件做绿色版.

我写了一个bat,
但有一个小问题是, chrome解压后会得到一个版本号文件夹, 纯数字无规律,带点号,  像69.3723.23.9这样的. 目前需要手动改为目标名称.
怎么自动改这个无规律的文件夹名呢?
  1. ::      更新chrome浏览器.
  2. ::      过程:  用bandizip解压下载的exe, 删除部分语言文件, 复制必需文件到D盘固定目录.
  3. cd      Z:\A\
  4. :: 临时工作目录A
  5. ren     Z:\A\*chrome_installer.exe      Chrome.zip
  6. start /wait      C:\"Program Files"\Bandizip\Bandizip.exe bx -y    Z:\A\Chrome.zip  /S
  7. del  /s/f/q     Z:\A\Chrome.zip
  8. start /wait      C:\"Program Files"\Bandizip\Bandizip.exe bx -y    Z:\A\Chrome.7z  /S
  9. :: 此时解压完毕会得到一个版本号文件夹, 纯数字无规律,带点号,  像69.3723.23.9这样的
  10. @echo 此时需手动改名Z:\A\Chrome-bin\下的无规律版本号数字文件夹为111
  11. pause
  12. move /y       Z:\A\Chrome-bin\chrome.exe      Z:\A\Chrome-bin\111\
  13. :: 下面删除多余文件
  14. rd /s/q      Z:\A\Chrome-bin\111\default_apps\
  15. for /f "tokens=* delims=" %%a in ('"dir /s /b Z:\A\Chrome-bin\111\Locales|findstr /i /v "en-US.pak zh-CN.pak""') do del %%a
  16. :: 清空旧chrome文件夹
  17. rd /s/q      D:\PROGRAM\Net\Chrome
  18. xcopy  /i/e/y       Z:\A\Chrome-bin\111\      D:\PROGRAM\Net\Chrome\
  19. rd /s/q      Z:\A\
复制代码
每一版chrome的版本号都不同 . 怎么自动改这个无规律的带点文件夹名 ,一气呵成 ,  免去手动改名 ?
作者: Batcher    时间: 2018-9-19 19:50

解压之后 Z:\A\Chrome-bin\ 下只有一个文件夹吗?
如果有多个文件夹的话,其它文件夹分别是什么?需要总结一下规律才好写代码
作者: zhqiao    时间: 2018-9-20 00:41

回复 2# Batcher


   只有一个文件夹, 文件夹名就是版本号 .  还有一个chrome.exe文件. 没有其它内容了 !
作者: Batcher    时间: 2018-9-20 08:42

回复 3# zhqiao


1.bat
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad "Z:\A\Chrome-bin\"') do (
  3.     set "folder=%%~nxi"
  4. )
  5. echo,%folder%
  6. pause
复制代码
2.bat
  1. @echo off
  2. for /d %%i in ("Z:\A\Chrome-bin\*") do (
  3.     set "folder=%%~nxi"
  4. )
  5. echo,%folder%
  6. pause
复制代码

作者: 窄口牛    时间: 2018-9-20 09:36

  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. cd /d %~dp0
  4. set pt=D:\PROGRAM\Net\Chrome
  5. set te=%temp%\Chrome-bin
  6. set te111=%temp%\Chrome-bin\111
  7. "D:\Program Files\7-Zip\7z.exe" x chrome.7z -o%temp%
  8. ::del chrome.7z /q
  9. for /f "delims=" %%a in ('dir %te% /ad /b 2^>nul') do ren %te%\%%a 111
  10. pause
  11. rd /s/q %te111%\default_apps\
  12. for /f "tokens=* delims=" %%a in ('"dir /s /b %te111%\Locales|findstr /i /v "en-US.pak zh-CN.pak""') do del %%a
  13. rd %pt% /s /q>nul 2>nul
  14. md %pt%
  15. move %te%\Chrome.exe %pt%\Chrome.exe
  16. xcopy /s /e /y /i %te111% %pt%
  17. rd %te% /s /q>nul 2>nul
复制代码

作者: 窄口牛    时间: 2018-9-20 09:43

你这更新把收藏夹也干掉了吧??
作者: zhqiao    时间: 2018-9-20 20:21

回复 4# Batcher


    非常感谢 !
作者: zhqiao    时间: 2018-9-20 20:23

本帖最后由 zhqiao 于 2018-9-20 20:38 编辑

回复 6# 窄口牛


    非常感谢 !
不会干掉用户数据. 都在. 自己解压的方式自由度高 . 不必被强制安装在C盘.




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