用脚本写一个无需指定路径自动获取当前路径;实现查找目录下所有符合自定类型的文件复制到自定义文件夹内;不用每次指定路径;自动获取;开头定义文件类型和自定义的文件夹名称,只需要复制文件不用复制文件的文件夹,不用弹出CMD对话框确认
时间: 2023-12-26 13:06:43 浏览: 30
以下是Python实现的脚本:
```python
import os
import shutil
file_type = ".txt" # 定义文件类型
folder_name = "my_folder" # 定义自定义文件夹名称
current_path = os.getcwd() # 获取当前路径
target_folder = os.path.join(current_path, folder_name) # 拼接目标文件夹路径
if not os.path.exists(target_folder): # 如果目标文件夹不存在,则创建
os.mkdir(target_folder)
for root, dirs, files in os.walk(current_path): # 遍历当前路径下的所有文件和文件夹
for file in files:
if file.endswith(file_type): # 判断文件类型是否符合要求
file_path = os.path.join(root, file) # 获取当前文件的完整路径
shutil.copy(file_path, target_folder) # 复制文件到目标文件夹
```
这个脚本会自动获取当前路径,然后遍历当前路径下的所有文件和文件夹,找到符合要求的文件类型,将其复制到自定义文件夹内。你只需要修改`file_type`和`folder_name`的值即可。
相关问题
用脚本写一个无需指定路径自动获取当前路径;实现查找目录下所有符合自定类型的文件复制到自定义文件夹内;不用每次指定路径;自动获取;开头定义文件类型和自定义的文件夹名称,只需要复制文件不用复制文件的文件夹
你可以使用以下的 BAT 脚本实现:
```
@echo off
setlocal enabledelayedexpansion
set "file_type=.txt"
set "target_dir=C:\MyTarget"
set "source_dir=%~dp0"
for /r "%source_dir%" %%i in ("*%file_type%") do (
set "filename=%%~ni"
set "extension=%%~xi"
set "file_dir=%%~dpi"
set "file_dir=!file_dir:%source_dir%=!"
set "file_dir=!file_dir:~1,-1!"
mkdir "%target_dir%" >nul
copy /y "%%~fi" "%target_dir%\!filename!!extension!" >nul
)
echo "Copy completed!"
pause
```
以上脚本会将当前目录下所有文件夹中的后缀为 .txt 的文件复制到 C:\MyTarget 文件夹中,并且会在命令行中输出“Copy completed!”信息。此外,这个脚本会在目标文件夹中创建文件,但不会复制源文件夹的目录结构。你可以将脚本中的 `file_type` 和 `target_dir` 变量值修改为你需要的类型和路径。
用Windows脚本写一个自动获取当前路径后查找目录下面所有定义的文件类型复制文件到自定义的文件夹内;再移动到自定义的文件夹内;并把代码逐行解释
以下是一个用Windows脚本实现自动获取当前路径后查找目录下面所有定义的文件类型并复制到自定义文件夹的示例代码:
```
@echo off
setlocal enabledelayedexpansion
REM 获取当前路径
set "current_dir=%CD%"
REM 指定文件类型
set "file_type=*.txt"
REM 指定自定义文件夹
set "custom_folder=C:\CustomFolder"
REM 查找目录下所有指定类型的文件,并复制到自定义文件夹中
for /r "%current_dir%" %%i in (%file_type%) do (
copy "%%i" "%custom_folder%"
)
REM 移动到自定义文件夹
cd "%custom_folder%"
REM 输出复制文件的列表
echo Copied files:
for %%i in (%file_type%) do (
echo "%%~nxi"
)
```
代码逐行解释:
- `@echo off`:关闭命令行窗口上的回显,以避免命令输出显示在屏幕上。
- `setlocal enabledelayedexpansion`:打开延迟变量扩展模式,以便在for循环中使用`!`符号读取变量值。
- `set "current_dir=%CD%"`:使用`%CD%`系统变量获取当前路径,并将其存储在`current_dir`变量中。
- `set "file_type=*.txt"`:指定要查找的文件类型,此处为`.txt`文件类型。
- `set "custom_folder=C:\CustomFolder"`:指定自定义的文件夹路径。
- `for /r "%current_dir%" %%i in (%file_type%) do ( copy "%%i" "%custom_folder%")`:使用`for`循环遍历当前路径下的所有文件(包括子文件夹),并将符合指定文件类型的文件复制到自定义文件夹中。
- `cd "%custom_folder%"`:移动到自定义文件夹。
- `echo Copied files:`:输出复制文件的列表。
- `for %%i in (%file_type%) do (echo "%%~nxi")`:使用`for`循环遍历自定义文件夹中的所有符合指定文件类型的文件,并输出其文件名。其中,`%%~nxi`用于取得文件名和扩展名。