用Windows脚本代码写一个实现自动获取当前路径后指定目录下的文件按照类型(.prt、.cxp、.doc)分别移动到三个文件夹中(程序模型、工艺规程、沟通记录),然后将这三个文件夹复制到目标文件夹(工艺文件)中,并在完成 复制后删除原来的文件夹,跳过名称为未分配的文件夹文件的搜索、移动和复制
时间: 2024-02-20 19:58:58 浏览: 67
可以使用以下脚本实现您的需求:
```
@echo off
set current_path=%cd%
set file_type1=.prt
set file_type2=.cxp
set file_type3=.doc
set folder_name1=程序模型
set folder_name2=工艺规程
set folder_name3=沟通记录
set destination_folder=工艺文件
if not exist "%folder_name1%" mkdir "%folder_name1%"
if not exist "%folder_name2%" mkdir "%folder_name2%"
if not exist "%folder_name3%" mkdir "%folder_name3%"
for /r "%current_path%" %%i in (*) do (
if "%%~ni" neq "未分配" (
if "%%~xi" == "%file_type1%" (
copy "%%i" "%folder_name1%\"
) else if "%%~xi" == "%file_type2%" (
copy "%%i" "%folder_name2%\"
) else if "%%~xi" == "%file_type3%" (
copy "%%i" "%folder_name3%\"
)
)
)
xcopy "%folder_name1%" "%destination_folder%\%folder_name1%\" /s /e
rd "%folder_name1%" /s /q
xcopy "%folder_name2%" "%destination_folder%\%folder_name2%\" /s /e
rd "%folder_name2%" /s /q
xcopy "%folder_name3%" "%destination_folder%\%folder_name3%\" /s /e
rd "%folder_name3%" /s /q
```
在脚本中,首先定义了当前路径、文件类型、文件夹名称以及目标文件夹的变量。然后通过 `if not exist` 命令创建三个文件夹。
接着,在 `for` 循环中遍历当前路径下的所有文件,通过 `if` 命令判断文件名称是否为“未分配”,如果不是,则将文件移动到对应的文件夹中。需要注意的是,由于文件夹名称中包含了中文字符,因此需要使用 `%folder_name1%\` 的形式来引用变量。
最后,通过 `xcopy` 命令将三个文件夹复制到目标文件夹中,并在完成复制后使用 `rd` 命令删除原来的文件夹。
阅读全文