用Windows脚本代码实现自动获取当前路径后自定义查找的三种类型和自定义三种 文件夹名称;实现在当前目录下遍历查找符合类型的文件复制到自定义的文件后 再把自定义的文件夹和里面的内容移动到指定的文件夹内;根据文件类型放置定 义的文件夹内;需要可以单独定义指定的移动的文件夹;这个指定移动的文件夹 不需要弹窗输入只需要代码内和自定义文件夹那样定义就行
时间: 2024-02-20 12:57:57 浏览: 54
好的,这是一个比较复杂的问题,我会尽可能详细地回答你。首先,我需要确认你的操作系统是Windows,因为不同的操作系统可能需要不同的代码实现。
获取当前路径可以使用以下代码:
```
set current_path=%cd%
```
自定义查找的三种类型可以通过设置文件扩展名来实现,例如:
```
set file_type1=.txt
set file_type2=.docx
set file_type3=.pdf
```
自定义三种文件夹名称可以通过设置变量来实现,例如:
```
set folder_name1=Folder1
set folder_name2=Folder2
set folder_name3=Folder3
```
遍历查找符合类型的文件可以使用for命令和if命令来实现,例如:
```
for /r "%current_path%" %%i in (*) do (
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命令和rd命令来实现,例如:
```
xcopy "%folder_name1%" "%destination_folder%\%folder_name1%\" /s /e
rd "%folder_name1%" /s /q
```
根据文件类型放置定义的文件夹内可以在复制文件时实现,例如上面的代码已经实现了这一功能。
单独定义指定的移动文件夹可以通过设置变量来实现,例如:
```
set destination_folder=C:\DestinationFolder
```
最后,将所有代码整合到一起,可以得到以下完整的脚本代码:
```
@echo off
set current_path=%cd%
set file_type1=.txt
set file_type2=.docx
set file_type3=.pdf
set folder_name1=Folder1
set folder_name2=Folder2
set folder_name3=Folder3
set destination_folder=C:\DestinationFolder
for /r "%current_path%" %%i in (*) do (
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
```
阅读全文