找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19055|回复: 5

[文件操作] 【已解决】批处理如何遍历磁盘找到文件夹,并把想要数据复制过去?

[复制链接]
发表于 2021-12-2 21:41:31 | 显示全部楼层 |阅读模式
求教各位大神该如何写, 想实现的效果是,
1,判断卷标ESP,或者SYSTEM卷标是否存在,存在则分配一个固定盘符,将批出理当前目录下到000.txt复制过去,然后卸载卷标在执行以下步骤
2,将批处理当前目录下到123.bat,复制到\ProgramData\Microsoft\Windows\Start Menu\Programs\
(由于在PE下使用不确定Programs文件夹就在C盘,所以需要搜索或者遍历所有盘找到这个文件夹并且把123.bat复制进去)PE盘符为X盘,排除X盘下的Programs文件夹。
发表于 2021-12-3 15:17:28 | 显示全部楼层
回复 1# gyue


功能-2.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%i in (C D E F G H I J K L M N O P Q R S T U V W Y Z) do (
  4.     if exist "%%i:\ProgramData\Microsoft\Windows\Start Menu\Programs" (
  5.         copy /y "123.bat" "%%i:\ProgramData\Microsoft\Windows\Start Menu\Programs"
  6.     )
  7. )
复制代码
 楼主| 发表于 2021-12-3 16:47:41 | 显示全部楼层
回复 2# Batcher


    试了半天不管用,复制不过去后来发现这个ProgramData目录是只读权限 请问怎么加个取消只读权限的命令吗?
发表于 2021-12-3 17:17:39 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%i in (C D E F G H I J K L M N O P Q R S T U V W Y Z) do (
  4.     if exist "%%i:\ProgramData\Microsoft\Windows\Start Menu\Programs" (
  5.         attrib /s /d -r -h -s "%%i:\ProgramData\Microsoft\Windows\Start Menu\Programs"
  6.         copy /y "123.bat" "%%i:\ProgramData\Microsoft\Windows\Start Menu\Programs"
  7.     )
  8. )
复制代码
 楼主| 发表于 2021-12-3 22:32:44 | 显示全部楼层
回复 4# cmd1152


    多谢可以了
 楼主| 发表于 2021-12-3 22:33:32 | 显示全部楼层
回复 2# Batcher


    谢谢老大指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:55 , Processed in 0.030672 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表