批处理 A文件夹中和B文件夹中文件名相同 移动到A文件夹

linxicc81 2020-10-29 08:54:50
晚上好, 求助各位前辈一个问题 ,还请前辈赐教 ,万分感谢!
问题描述: 事情是这样的 客户给了我一份图纸,每个零件都提供了2种格式是,分别为 .pdf和.dwg 的, 我将这些图纸放在A文件夹中, 因为有些比较复杂, 我希望客户给我提供 三维图 , 于是客户 又给了我 一大堆图纸, 格式是 .sldprt 。我将这些图纸放在B文件夹中,但是这些图纸 包含A文件中的部分零件, 现在我需要 将B文件夹中 和 A文件夹中同名 的文件 都剪切 到 C 文件夹中(备注:只剪切B文件中中满足条件的文件到C文件夹,A文件夹中的文件不要动,只用作条件比对对象) 。(备注:客户图纸 同一零件 ,用的名字都一样,就是文件格式,即后缀名不同 );
因为图纸数量太多, 我想求前辈 赐教个 批处理文件 , 能够批量处理 。
再次 感谢各位前辈 不吝赐教!!!
...全文
19560 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxicc81 2020-11-05
  • 打赏
  • 举报
回复
追加!!!
感谢各位前辈大神赐教! 还有问题 请再指教下,
现在 我有A B 两个文件夹, 其中 A 文件夹中的图纸我都处理完了 ,
比如:123-456-789.dwg文件
处理完后保存的格式为 "123-456-789 -1 3mm Q235.dxf " 和 "123-456-789 -2 3mm Q235.dxf "
现在 我开始处理B文件夹 , 这时候发现, B 文件夹 有些零部件和 A 相同,比如有个零件 也叫123-456-789.dwg
能否 给个批处理 ,将来 A文件中 所有和 B 文件夹中 同名的 dxf文件 都复制到 B文件夹中 !
谢谢!
注:A文件夹中 有子文件夹 !
linxicc81 2020-11-05
  • 打赏
  • 举报
回复
追加!!!
感谢各位前辈大神赐教! 还有问题 请再指教下,
现在 我有A B 两个文件夹, 其中 A 文件夹中的图纸我都处理完了 ,
比如:123-456-789.dwg文件
处理完后保存的格式为 "123-456-789 -1 3mm Q235.dxf " 和 "123-456-789 -2 3mm Q235.dxf "
现在 我开始处理B文件夹 和C文件夹 , 这时候发现, B 文件夹 和 C零件 有些零部件和 A 相同,比如有个零件 也叫123-456-789.dwg
能否 给个批处理 ,将来 A文件中 所有和 B 文件夹中 同名的 dxf文件 都复制到 B文件夹中 !
谢谢!
注:A文件夹中 有子文件夹 !
ace919 2020-10-30
  • 打赏
  • 举报
回复
测试了,文件名中有-没关系,但文件/目录名里有空格,需要引号括起来,改为下面这样的: for %%i in ("B\*.sldprt") do if exist "A\%%~ni.pdf" @move "%%i" "C"
zara 2020-10-30
  • 打赏
  • 举报
回复
保存到批处理文件 .bat 里执行;若命令行下直接运行,两个% 替换为 1 个。
for %%a in ("D:\b\*.sldprt") do @move "%%a" "D:\c"
for %%a in ("D:\c\*.sldprt") do @move "D:\a\%%~na.dwg" "D:\c"
for %%a in ("D:\c\*.sldprt") do @move "D:\a\%%~na.pdf" "D:\c"
ace919 2020-10-30
  • 打赏
  • 举报
回复
下面一行保存到.bat文件中,执行之。 for %%i in ("B\*.sldprt") do if exist A\%%~ni.pdf @move %%i C 若在命令行直接执行,把上面的%%替换为单个%即可
WEIJINGSHANG 2020-10-30
  • 打赏
  • 举报
回复
这里的东西很好哦
zara 2020-10-30
  • 打赏
  • 举报
回复
可能是由于内容深茶的缘故吧,暂时还看不到楼主的回复。
不过,上面的批处理是有问题的,第一行没有对是否存在相应的 dwg 或 pdf 文件进行判别,应该是:
for %%a in ("D:\b\*.sldprt") do @if exist "D:\a\%%~na.dwg" move "%%a" "D:\c"
linxicc81 2020-10-30
  • 打赏
  • 举报
回复
我刚又试验了下, 这个命令 可以用了, 结果是将 A文件夹中 和B文件夹中 相同名称的 都剪切到 C文件中了 ! 这样 也行!可以实现 !非常感谢 前辈!
linxicc81 2020-10-30
  • 打赏
  • 举报
回复
此命令 将A里面 和B里面 部分 图纸文件 剪切到C里面了 ,
备注 :图纸的名称都是 " 200014-0201-0020.pdf " 这种个格式的 ,会不会是 名称中带 - 导致出错了?
linxicc81 2020-10-30
  • 打赏
  • 举报
回复
前辈, 没成功啊!!是不是 哪里搞错了?
linxicc81 2020-10-29
  • 打赏
  • 举报
回复
或者提供 比较实用的小软件也行!
RAR 是一个让你在命令行模式管理压缩文件的控制台应用。RAR 提供压缩、加 密、数据恢复和许多其它此手册描述的其它功能。 RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持ZIP 和其他格 式。即使创建压缩文件时指定了 .zip 扩展名,它仍然是 RAR 格式的。Windows 用户 可以 WinRAR,它支持更多的压缩文件类型,包括 RAR 和 ZIP 格式。 WinRAR 提供了图形用户界面和命令行模式。虽然控制台 RAR 和图形界面 WinRAR 有相似的命令行语法,但是它们还有有一些不同。所以推荐使用此 rar.txt 手册用于 控制台 RAR(rar.exe 在 Windows 版本的情况下),winrar.chm 是图形界面 WinRAR (winrar.exe) 的帮助文件。 配置文件 ~~~~~~~~ Unix 版本的 RAR 从用户的 home 或 /etc 目录的 .rarrc 文件读取配置文件信息 (存储在 HOME 环境变量) Windows 的版本 RAR 从 rar.ini 文件读取配置文件信息,它放在 rar.exe 文件相 同的目录。 这个文件包含下列字符串: switches=任何 RAR 开关,用空格分开 例如: switches=-m5 -s 环境变量 ~~~~~~~~ 可以通过建立"RAR"环境变量来添加默认参数到命令行. 例如,在 Unix ,下列命令行可以被添加到你的配置: RAR='-s -md1024' export RAR RAR 将使用这个字符串作为命令行的默认参数,并将使用 1024KB 字典大小来创建 “固实”压缩文件。 RAR 控制选项使用下列优先级: 命名行开关 最高优先级 在 RAR 变量的开关 低优先级 保存在配置文件的开关 最低优先级 日志文件 ~~~~~~~~ 如果在命令行或配置文件指定开关 -ilog ,RAR 将会把处理压缩文件遇到的错误 等写到日志文件。读取开关 -ilog 描述获得更多信息。 固实压缩的文件列表 - rarfiles.lst ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rarfiles.lst 包含一个用户定义的文件列表,告诉 RAR 添加文件到固实压缩文件时的顺 序。它可以包含文件名通配符和指定项目 -$default。默认项目定义了这个文件与 其他项目不相符时的顺序清单位置。 注释字符是 ';'. 在 Windows ,这个文件应该放在 RAR 所在的或 %APPDATA%\WinRAR 目录, 在 Unix - 放在用户的 home 目录或在 /etc 。 提高压缩率和操作速度的提示: - 在压缩文件,小文件应该被组织在一起; - 频繁被处理的文件应该放在开始的位置。 普通的掩码越靠近顶端优先权就越高,但是这个规则存在例外。如果 rarfiles.lst 包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集 或者更精确的匹配拥有更高的优先权。例如,如果你用 *.cpp 和 f*.cpp 掩码, f*.cpp 拥有更高的优先权。 RAR 命令行语法 ~~~~~~~~~~~~~~ 语法 RAR [ - ] [ ] [ ] [ ] 描述 命令行选项 (命令和开关) 提供了使用 RAR 创建和管理压缩文件的控制方法。命 令是一个字符串(或单个的字母),命令 RAR 去执行一个相应的操作。开关被用来 改变 RAR 执行操作的方法。其它参数是压缩文件名和被压缩的文件或要从压缩文件 被解压文件。 列表文件是一个包括处理的文件名的纯文本文件。第一列应该以文件名开始。可以 在//字符后添加注释。例如,你可以创建包含下列字符串的 backup.lst: c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片 c:\
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表已有的条目。   bootcfg /disableredirect 在启动引导程序禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)找到该文件,将试着在 Windows 安装 CD 找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot

18,124

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧