用Windows脚本代码写一个实现自动获取当前路径后指定目录下的文件按照类型(.prt、.cxp、.doc)分别移动到三个文件夹中(程序模型、工艺规程、沟通记录),然后将这三个文件夹复制到目标文件夹(工艺文件)中,并在完成复制后删除原来的文件夹,只搜索文件夹名称分别为0000-00-客户沟通、0000-01-Rough、0000-02-Rough_2、0000-03-Semi-Finish、0000-04-Finish、工艺模板、工装;其余文件夹均跳过
时间: 2024-02-03 20:04:17 浏览: 242
获取指定目录下的文件路径及文件名
以下是实现上述功能的 Windows 脚本代码:
```batch
@echo off
setlocal enabledelayedexpansion
set "current_path=%cd%"
set "model_folder=%current_path%\程序模型"
set "process_folder=%current_path%\工艺规程"
set "communication_folder=%current_path%\沟通记录"
set "target_folder=%current_path%\工艺文件"
if not exist "%model_folder%" mkdir "%model_folder%"
if not exist "%process_folder%" mkdir "%process_folder%"
if not exist "%communication_folder%" mkdir "%communication_folder%"
if not exist "%target_folder%" mkdir "%target_folder%"
for /d %%f in ("%current_path%\*") do (
set "folder_name=%%~nxf"
if "!folder_name!"=="0000-00-客户沟通" (
call :move_files "%%~f" ".doc" "%communication_folder%"
) else if "!folder_name!"=="0000-01-Rough" (
call :move_files "%%~f" ".prt" "%model_folder%"
) else if "!folder_name!"=="0000-02-Rough_2" (
call :move_files "%%~f" ".prt" "%model_folder%"
) else if "!folder_name!"=="0000-03-Semi-Finish" (
call :move_files "%%~f" ".cxp" "%process_folder%"
) else if "!folder_name!"=="0000-04-Finish" (
call :move_files "%%~f" ".cxp" "%process_folder%"
) else if "!folder_name!"=="工艺模板" (
xcopy /s /y "%%~f" "%target_folder%\工艺模板\"
rd /s /q "%%~f"
) else if "!folder_name!"=="工装" (
xcopy /s /y "%%~f" "%target_folder%\工装\"
rd /s /q "%%~f"
)
)
goto :eof
:move_files
set "folder=%~1"
set "ext=%~2"
set "target_folder=%~3"
for /r "%folder%" %%f in (*) do (
set "file_name=%%~nxf"
set "file_ext=%%~xf"
if "!file_ext!"=="%ext%" (
move "%%~f" "%target_folder%\!file_name!" >nul
)
)
goto :eof
```
使用方法:
1. 将上述代码保存为 `move_files.bat` 文件;
2. 将该文件放置到需要进行文件整理的目录下;
3. 双击运行 `move_files.bat` 文件即可。
注意事项:
1. 该代码只会搜索文件夹名称为 `0000-00-客户沟通`、`0000-01-Rough`、`0000-02-Rough_2`、`0000-03-Semi-Finish`、`0000-04-Finish`、`工艺模板`、`工装` 的文件夹;
2. 该代码会将搜索到的相应类型的文件移动到对应的文件夹中,并将这三个文件夹复制到 `工艺文件` 文件夹中,并在完成复制后删除原来的文件夹;
3. 该代码只会处理指定类型的文件,其他类型的文件会被忽略;
4. 该代码只在 Windows 系统上运行。
阅读全文