Board logo

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

作者: gyue    时间: 2021-12-2 21:41     标题: 【已解决】批处理如何遍历磁盘找到文件夹,并把想要数据复制过去?

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

回复 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. )
复制代码

作者: gyue    时间: 2021-12-3 16:47

回复 2# Batcher


    试了半天不管用,复制不过去后来发现这个ProgramData目录是只读权限 请问怎么加个取消只读权限的命令吗?
作者: cmd1152    时间: 2021-12-3 17:17

  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. )
复制代码

作者: gyue    时间: 2021-12-3 22:32

回复 4# cmd1152


    多谢可以了
作者: gyue    时间: 2021-12-3 22:33

回复 2# Batcher


    谢谢老大指点




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