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

[文件操作] 【已解决】批处理查找C盘游戏存档并复制到d盘

本帖最后由 xiaoyao202 于 2022-4-20 21:11 编辑

求助大佬。
游戏存档后缀.sav 例如存档文件在C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907下面或者C:\ProgramData\Tom Clancy's Ghost Recon Wildlands\UserData下面。我需要复制SniperElite4文件夹或Tom Clancy's Ghost Recon Wildlands文件夹到其他盘,并输出txt、
谢谢!!

回复 1# xiaoyao202
  1. @echo off
  2. cd /d "%~dp0"
  3. REM 设置备份到哪个文件夹
  4. set "DstFolder=D:\Test"
  5. if exist "C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907\*.sav" (
  6.     xcopy /e /y "C:\Users\Administrator\AppData\Local\SniperElite4" "%DstFolder%\SniperElite4\"
  7. )
  8. if exist "C:\ProgramData\Tom Clancy's Ghost Recon Wildlands\UserData\*.sav" (
  9.     xcopy /e /y "C:\ProgramData\Tom Clancy's Ghost Recon Wildlands" "%DstFolder%\Tom Clancy's Ghost Recon Wildlands\"
  10. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 xiaoyao202 于 2022-4-17 13:29 编辑

回复 2# Batcher


        谢谢。但是我是举个例子。主要是查找sav后缀的文件来判断游戏存档获取路径,然后截取路径C:\Users\Administrator\AppData\Local\SniperElite4复制SniperElite4这个文件夹。因为好多游戏存档。需要输出txt是来判断文件夹在那个位置。重装系统后可以存档复制过去

TOP

回复 3# xiaoyao202
  1. @echo off
  2. cd /d "%~dp0"
  3. REM 设置备份到哪个文件夹
  4. set "DstFolder=D:\Test"
  5. REM 设置写入哪个文件
  6. set "DstFile=D:\1.txt"
  7. if exist "C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907\*.sav" (
  8.     xcopy /e /y "C:\Users\Administrator\AppData\Local\SniperElite4" "%DstFolder%\SniperElite4\"
  9.     >"%DstFile%" echo C:\Users\Administrator\AppData\Local\SniperElite4
  10. )
  11. if exist "C:\ProgramData\Tom Clancy's Ghost Recon Wildlands\UserData\*.sav" (
  12.     xcopy /e /y "C:\ProgramData\Tom Clancy's Ghost Recon Wildlands" "%DstFolder%\Tom Clancy's Ghost Recon Wildlands\"
  13.     >"%DstFile%" echo C:\ProgramData\Tom Clancy's Ghost Recon Wildlands
  14. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


       谢谢大佬。可能我表达的还是不清楚。我的意思搜索C盘后缀sav的文件,然后获取文件路径。知道sav的文件是在SniperElite4这个文件夹三层目录中。我需要的是复制SniperElite4这个文件夹。C盘有很多存档文件像在SniperElite4文件夹下的。我只是举这个例子。
图片没法上传可能等级不够。

TOP

回复 5# xiaoyao202


如需上传截图,请用图床:
http://bbs.bathome.net/thread-60985-1-1.html

如需上传附件,请用阿里云盘或百度网盘。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher


    谢谢知道了

TOP

本帖最后由 xiaoyao202 于 2022-4-17 23:20 编辑


希望批处理查找C盘sav文件。然后判断文件全部路径。复制红框的文件夹到D盘。同时输出txt知道sav文件属于那个位置

TOP

回复 8# xiaoyao202
代码保存为ANSI格式
  1. @echo off&setlocal enabledelayedexpansion
  2. cd /d "%~dp0"
  3. if not exist D:\存档\ (md D:\存档)
  4. if not exist D:\存档\数据\ (md D:\存档\数据)
  5. for /f "tokens=* delims=, " %%a in ('dir /a /s /b %ALLUSERSPROFILE%\*.sav') do set sav1=%%a
  6.     for /f "tokens=* delims=, " %%b in ('dir /a /s /b %LOCALAPPDATA%\*.sav') do set sav2=%%b
  7. echo !sav1! >>D:\存档\游戏存档.log
  8. xcopy /e /y "!sav1!" "D:\存档\数据\"
  9. echo !sav2! >>D:\存档\游戏存档.log
  10. xcopy /e /y "!sav2!" "D:\存档\数据\"
  11. )
  12. )
  13. cls
  14. echo 游戏存档已经备份完毕,5秒后本窗口将自动关闭!
  15. timeout -t 5 >nul
  16. exit
复制代码

TOP

本帖最后由 xiaoyao202 于 2022-4-18 01:48 编辑

回复 9# yakeyun
谢谢大佬。我试了不是我要的结果。
图片中红框这几个文件夹里面都有sav文件。需要复制红框里面的文件夹到D盘。输出的文本只显示截图这样就行不知道这样要求是否能实现。再次谢谢各位大佬了

TOP

回复 8# xiaoyao202


电脑是比较笨的,你得把规律总结出来才能写代码。
例如你需要复制的文件夹是:
.sav文件的上级文件夹?
.sav文件的上上级文件夹?
.sav文件的上上上级文件夹?

如果完全没规律的话,脚本也不知道到底该复制哪一级文件夹。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

按我的理解,楼主是想把%ALLUSERSPROFILE%和%LOCALAPPDATA%下面一级包含*.sav的文件夹复制到其它文件夹,如d:\存档,同时将复制的sav文件完整路径输出到d:\存档的txt文件中。

如C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907\11.sav 复制到d:\存档 的结果就变成这样:
d:\存档\SniperElite4\PC_ProfileSaves\76561197993333907\11.sav

%LOCALAPPDATA%下面含*.sav的文件夹可能是三层,也可能是两层

输出到txt文件是这样:
C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907\11.sav

TOP

本帖最后由 xiaoyao202 于 2022-4-19 20:27 编辑

回复 12# tz_being

是这个意思。输出到txt文件
C:\Users\Administrator\AppData\Local\SniperElite4这样就可以了。
SniperElite4这个是游戏的名字
游戏存档一般都在%ALLUSERSPROFILE%和%LOCALAPPDATA%这下面

TOP

回复 11# Batcher
可以先查找sav或save文件获取路径写入txt然后再读取txt截取路径。例子截取的路径C:\Users\Administrator\AppData\Local\SniperElite4(括号里面是完整路径
C:\Users\Administrator\AppData\Local\SniperElite4\PC_ProfileSaves\76561197993333907\11.sav)复制SniperElite4文件夹到D盘存档
这样的思路不知道行不行。截取这部分不会。

TOP

回复 12# tz_being


    不全面吧,你看8楼的截图,Tom Clancy's Ghost Recon Wildlands就不在那两个目录下
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表