运行代码后名称为未分配的文件夹的文件还是复制了
时间: 2024-02-20 17:59:04 浏览: 25
非常抱歉,我的回答仍有误导之处。实现跳过名称为“未分配”的文件夹的文件,应该将判断条件放在 `for` 循环内部,而不是 `if` 命令内部。修改后的代码如下:
```
@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 not "%%~ni" == "未分配" (
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` 命令改为 `if not` 命令,判断文件名称是否为“未分配”,如果不是,则将文件移动到对应的文件夹中。这样就可以实现跳过名称为“未分配”的文件夹的文件了,感谢您的指正。