用 Windows 批处理脚本代码写一个主要功能是将当前目录下的所有符合自定义类型的(.prt、.cxp、.doc)文件分别复制到三个不同的文件夹(程序模型、工艺规程、沟通记录)中。接着将这三个文件夹及其文件夹里面的文件复制到指定目录下的工艺文件夹中,文件类型按定义的文件夹放置;并删除原始的三个文件夹。没有文件夹的创建文件夹;开头指定跳过的文件夹名称;代码可维护
时间: 2023-08-02 08:05:10 浏览: 171
以下是实现该功能的 Windows 批处理脚本代码:
```batch
@echo off
setlocal enabledelayedexpansion
set "source=%cd%"
set "dest=D:\工艺文件夹"
set "skip=不需要复制的文件夹名称"
rem 创建三个文件夹
for %%d in ("程序模型" "工艺规程" "沟通记录") do (
md "%source%\%%~d" 2>nul
)
rem 复制符合类型的文件到对应的文件夹
for %%f in (*.prt *.cxp *.doc) do (
if "%%~xf"==".prt" (
copy "%%f" "%source%\程序模型"
) else if "%%~xf"==".cxp" (
copy "%%f" "%source%\工艺规程"
) else if "%%~xf"==".doc" (
copy "%%f" "%source%\沟通记录"
)
)
rem 复制三个文件夹及其文件到指定目录下的工艺文件夹中
for %%d in ("程序模型" "工艺规程" "沟通记录") do (
if /i "%%~d" neq "%skip%" (
xcopy "%source%\%%~d" "%dest%\%%~d" /s /e /i /y
)
)
rem 删除原始的三个文件夹
for %%d in ("程序模型" "工艺规程" "沟通记录") do (
if /i "%%~d" neq "%skip%" (
rd /s /q "%source%\%%~d"
)
)
```
与之前的代码相比,主要改进点在于:
1. 使用 `for` 循环遍历需要创建的文件夹,用 `%%~d` 获取文件夹名称,并使用 `md` 命令创建文件夹。这样可以使代码更加简洁,易于维护。
2. 在复制文件和删除文件夹时,使用 `for` 循环遍历需要操作的文件夹。与之前的代码相比,这样可以使代码更加灵活,可以通过修改需要跳过的文件夹名称来实现跳过特定文件夹的功能。
阅读全文