用 Windows 批处理脚本代码写一个主要功能是将当前目录下的特定文件类型(.prt、.cxp、.doc)分别复制到三个不同的文件夹(程序模型、工艺规程、沟通记录)中。接着,使用 xcopy 命令将这三个文件夹复制到指定目录下的工艺文件夹中,并删除原始的三个文件夹。
时间: 2024-02-20 14:02:08 浏览: 182
Sure! 以下是一个实现上述功能的 Windows 批处理脚本代码:
```
@echo off
set file_types=.prt .cxp .doc
set folder_names=程序模型 工艺规程 沟通记录
set destination_folder=工艺文件
for %%i in (%file_types%) do (
for %%j in (%folder_names%) do (
if not exist "%%~j" md "%%~j"
for /r %%k in (*%%~i) do (
copy "%%~k" "%%~j\"
)
xcopy "%%~j" "%destination_folder%\%%~j\" /s /e /i
rd "%%~j" /s /q
)
)
```
这个脚本首先使用 `set` 命令定义需要处理的文件类型和文件夹名称。然后,使用嵌套的 `for` 循环遍历每种文件类型和文件夹名称,如果对应的文件夹不存在则创建它,然后使用 `for /r` 命令遍历当前目录及其子目录中的所有对应文件类型的文件,并将它们复制到对应的文件夹中。最后,使用 `xcopy` 命令将每个文件夹复制到指定目录下的工艺文件夹中,然后删除原始的三个文件夹。
相关问题
用 Windows 批处理脚本代码写一个主要功能是将当前目录下的所有(.prt、.cxp、.doc)类型的文件分别复制到三个不同的文件夹(程序模型、工艺规程、沟通记录)中。接着,使用 xcopy 命令将这三个文件夹复制到指定目录下的工艺文件夹中,文件类型按定义的文件夹放置;并删除原始的三个文件夹。代码开头定义可自定义跳过的文件夹名称
以下是实现你要求的 Windows 批处理脚本代码:
```
@echo off
set skip_folders=folder1 folder2 # 定义需要跳过的文件夹名称,以空格分隔
setlocal enabledelayedexpansion
for %%f in (*.prt *.cxp *.doc) do (
set "ext=%%~xf"
if "!ext!"==".prt" (
set "folder=程序模型"
) else if "!ext!"==".cxp" (
set "folder=工艺规程"
) else if "!ext!"==".doc" (
set "folder=沟通记录"
)
if "!skip_folders!"=="!skip_folders:%%~nf=!" (
md "!folder!" 2>nul
copy "%%~f" "!folder!\"
)
)
xcopy "程序模型" "指定目录\工艺文件夹\程序模型" /e /y
xcopy "工艺规程" "指定目录\工艺文件夹\工艺规程" /e /y
xcopy "沟通记录" "指定目录\工艺文件夹\沟通记录" /e /y
rd /s /q "程序模型"
rd /s /q "工艺规程"
rd /s /q "沟通记录"
```
你需要将代码中的 `folder1 folder2` 替换为需要跳过的文件夹名称,多个名称之间以空格分隔。同时,将代码中的 `指定目录` 替换为实际需要复制到的目录。执行脚本时,确保在需要处理的目录下运行。
用 Windows 批处理脚本代码写一个主要功能是将当前目录下的所有符合自定义类型的(.prt、.cxp、.doc)文件分别复制到三个不同的文件夹(程序模型、工艺规程、沟通记录)中。接着将这三个文件夹及其文件夹里面的文件复制到指定目录下的工艺文件夹中,文件类型按定义的文件夹放置;并删除原始的三个文件夹。没有文件夹的创建文件夹
以下是实现该功能的 Windows 批处理脚本代码:
```batch
@echo off
setlocal enabledelayedexpansion
set "source=%cd%"
set "dest=D:\工艺文件夹"
rem 创建三个文件夹
md "%source%\程序模型" 2>nul
md "%source%\工艺规程" 2>nul
md "%source%\沟通记录" 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 复制三个文件夹及其文件到指定目录下的工艺文件夹中
xcopy "%source%\程序模型" "%dest%\程序模型" /s /e /i /y
xcopy "%source%\工艺规程" "%dest%\工艺规程" /s /e /i /y
xcopy "%source%\沟通记录" "%dest%\沟通记录" /s /e /i /y
rem 删除原始的三个文件夹
rd /s /q "%source%\程序模型"
rd /s /q "%source%\工艺规程"
rd /s /q "%source%\沟通记录"
```
其中,`set "source=%cd%"` 设置源目录为当前目录,`set "dest=D:\工艺文件夹"` 设置目标目录为 D 盘下的工艺文件夹。
首先,使用 `md` 命令创建三个文件夹,然后使用 `for` 循环遍历当前目录下的所有符合类型的文件,并根据不同的文件类型将文件复制到对应的文件夹中。
接着,使用 `xcopy` 命令将三个文件夹及其文件复制到指定目录下的工艺文件夹中,文件类型按定义的文件夹放置。
最后,使用 `rd` 命令删除原始的三个文件夹。如果原始文件夹不存在,则不会报错。
阅读全文