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

[文件操作] 想写一个批处理,实现查找一个文件夹并复制内容进去?

[复制链接]
发表于 2022-6-5 19:38:14 | 显示全部楼层 |阅读模式
想写一个批处理,实现查找一个文件夹(位置不知道是哪个盘,只知道是Cim\Cim2\Data\NC),并将一个文件(例如0123.exe)复制到这个路径文件夹下,如何实现呢?新手刚练习不久,请教各位老师,感谢!
发表于 2022-6-5 20:29:38 | 显示全部楼层
回复 1# q995855


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4.     if exist "%%a:\Cim\Cim2\Data\NC" (
  5.         copy /y "0123.exe" "%%a:\Cim\Cim2\Data\NC"
  6.     )
  7. )
复制代码
 楼主| 发表于 2022-6-6 14:35:15 | 显示全部楼层
本帖最后由 q995855 于 2022-6-6 14:37 编辑

回复 2# Batcher 老师您好,请教一下,为什么我用这段来做搜索文件夹路径后并复制文件进最后一个文件夹时,最终出来的结果是路径找到了,但是文件没有复制进去,bat文件跟需要复制进去的文件是同一个文件夹的,是哪里的问题吗?
  1. <# :
  2. cls&echo off&cd /d "%~dp0"
  3. rem
  4. title %#% +%$%%$%/%_% %z%
  5. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
  6. echo;%#% +%$%%$%/%_% %z%
  7. pause
  8. exit
  9. #>
  10. $file="333.xlsm";
  11. $pathpart="data\nc";
  12. $b=[Convert]::FromBase64String("IC0tPiA=");
  13. $c=[Text.Encoding]::Default.GetString($b);
  14. $p='\'+$pathpart.trim('\').ToLower();
  15. for($i=90;$i -ge 67;$i--){
  16.     $drive=([char]$i).ToString()+':\';
  17.     if(test-path -literal $drive){
  18.         write-host ($drive+' 搜索中,请稍后……');
  19.         $folders=@(dir -literal $drive -recurse -ErrorAction SilentlyContinue|?{$_ -is [System.IO.DirectoryInfo]});
  20.         for($j=0;$j -lt $folders.length;$j++){
  21.             if($folders[$j].FullName.ToLower().EndsWith($p)){$file+$c+$folders[$j].FullName;}
  22.         }
  23.         write-host '完成,正在搜索下一个';
  24.     }
  25. }
复制代码
发表于 2022-6-6 15:11:46 | 显示全部楼层
没写复制语句;
第21行改一下:
  1.             if($folders[$j].FullName.ToLower().EndsWith($p)){$file+$c+$folders[$j].FullName;copy-item -literal $file -Destination $folders[$j].FullName -force}
复制代码
 楼主| 发表于 2022-6-6 16:27:16 | 显示全部楼层
本帖最后由 q995855 于 2022-6-6 16:36 编辑
没写复制语句;
第21行改一下:
flashercs 发表于 2022-6-6 15:11
嗯,感谢老师帮忙修改,解决了,但是还有一个问题,当搜到同一个主文件夹后,子文件夹还有同样的时候,搜索还是会遗漏
发表于 2022-6-6 18:48:04 | 显示全部楼层
回复 5# q995855


    看脚本 不会有遗漏的;除非 没有权限访问的目录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 00:35 , Processed in 0.020074 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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