标题: [文件操作] [已解決]求批处理搜索指定文件夹下搜索文件名加後缀。打开这个文件所在文件夹 [打印本页]
作者: 867258173 时间: 2014-12-19 17:18 标题: [已解決]求批处理搜索指定文件夹下搜索文件名加後缀。打开这个文件所在文件夹
本帖最后由 867258173 于 2014-12-19 20:10 编辑
不同电脑\Flash Player\#SharedObjects下有而个文件名不同,随机生成的。比如自己家是【2B2YZ76D】和别人家是【DABERSGX】。自己家是【##F80639C4B04BE75F】,別人家是【##3GF2YPGM】。请问怎样跳过这兩随机生成的文件夹,直接打开或是搜索打开【00000001.sol】所在這個文件夹呢?
%APPDATA%\Macromedia\Flash Player\#SharedObjects\2B2YZ76D\localhost\##F80639C4B04BE75F\00000001.sol
%APPDATA%\Macromedia\Flash Player\#SharedObjects\DABERSGX\localhost\##3GF2YPGM\00000001.sol
1.搜索#SharedObjects文件夹下指定文件名,若有重复的,以最新修改时间判断,并打开这个最新修改时间搜索到的指定文件名的所在文件夹。
2.要是能有个判断XP,WIN7系统,并分别在【 %ALLUSERSPROFILE%\Application Data\Macromedia\Flash Player\#SharedObjects】或【%AppData%\Macromedia\Flash Player\#SharedObjects】搜索就更好了。
作者: apang 时间: 2014-12-19 18:09
本帖最后由 apang 于 2014-12-20 19:23 编辑
- @echo off & setlocal enabledelayedexpansion
- set "D=00000000"
- pushd "%APPDATA%\Macromedia\Flash Player\#SharedObjects\"
- for /f "delims=" %%i in ('dir /a-d /b /s 00000001.sol?') do (
- for /f "tokens=1-4 delims=-/. " %%a in ("%%~ti") do (
- if "%%a%%b%%c%%d" gtr "!D!" (
- set "D=%%a%%b%%c%%d"
- set "fd=%%~dpi"
- )
- )
- )
- if exist "%fd%" start "" "%fd%."
- pause
复制代码
--------------------------------------------------------------------------------
以上弄复杂了,可以简化:- @echo off & setlocal enabledelayedexpansion
- pushd "%APPDATA%\Macromedia\Flash Player\#SharedObjects\"
- for /r %%i in (00000001.sol?) do (
- if "%%~ti" gtr "!D!" (
- set "D=%%~ti"
- set "fd=%%~dpi"
- )
- )
- if defined fd start "" "%fd%"
复制代码
- @echo off
- pushd "%APPDATA%\Macromedia\Flash Player\#SharedObjects\"
- %1for /f "tokens=2*" %%a in ('"%~0" :^|sort /r')do start "" "%%b" & exit
- for /r %%a in (00000001.sol?) do echo,%%~ta %%~dpa
复制代码
作者: 867258173 时间: 2014-12-19 20:04
回复 2# apang
太感謝了,成功了,這樣在不同電腦XP/Win7也能直接使用,不用擔心localhost前後文件夾的隨機生成數字串的不同文件夾問題了。
作者: 867258173 时间: 2014-12-21 17:13
本帖最后由 867258173 于 2014-12-21 17:25 编辑
回复 2# apang
感謝簡化代碼,更加方便。麻煩一下,請問下如何將這代碼分別添加2個功能
1.把搜索到的最新修改時間00000001.sol複製到子目錄下。
2.將子目錄的00000001.sol複製到搜索的最新修改時間文件下并直接覆蓋。不提示Y/N呢。
另外問下這代碼除了在WIN7上,XP/Vista/WIN8也能通用吧?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |