拷贝某路径下一种类型文件到另外一个路径
代码
@echo off
set source_path=D:\Files\Notes
set dest_path=C:\Users\
set pfile=*.md
d:
cd %source_path%
for /f "delims=" %%s in ('dir /b/a-d "%source_path%"\"%pfile%"') do (
echo %%s
copy /y "%%s" %dest_path%
)
pausefor /f
for /f 是 Windows 系统命令行中的一个用于迭代文本文件或字符串的关键字,通常会在处理文本或字符串时使用。它的语法格式为:
Copy code
for /f "options" %%variable in (filename) do command其中,options 表示使用不同的选项来设置循环行为。filename 可以是一个文本文件的路径,也可以是一段命令、一段字符串或一段通过管道符 | 传递的输出值。
在循环中,%%variable 表示循环变量名,可以是任意的自定义变量名。command 表示要对每个迭代项执行的命令。
因此 for /f 常用于在文本文件中查找关键字、处理字符串、批量修改文件名等操作。
echo
echo 是 Windows 系统命令行中的一个命令,用于在控制台屏幕上输出文本信息。echo 命令的语法格式为:
Copy code
echo [参数] [要输出的文本或变量]其中,参数 可以是若干个可选参数,如 /e 表示启用转义字符,/n 表示输出一个换行符,/s 表示不显示命令行中给出的命令。要输出的文本或变量 表示要在控制台显示的文本或变量名。
例如,echo "Hello World" 将会在控制台输出文本 Hello World,echo %PATH% 将会输出系统环境变量 PATH 的值。
在批处理脚本中,通常使用 echo 命令来输出调试信息或生成脚本文件。
dir /b/a-d/s
dir /b/a-d/s 是 Windows 命令行中 dir 命令的参数组合,用于列出指定目录下的所有非目录文件。
具体来说,参数含义如下:
/b表示使用“简洁输出”格式,只显示文件名而不显示其他信息。/a-d表示只显示文件,不显示目录。/s表示递归子目录中的文件。
将这几个参数组合起来,可以在指定目录及其所有子目录下列出所有非目录文件的文件名,并输出到命令行窗口。
在批处理脚本中,通常可以将该命令与 for 命令组合使用来实现对文件的批量操作,例如批量复制、删除等。
copy /y
copy /y 是 Windows 系统命令行中 copy 命令的参数,用于复制文件时指定覆盖已有文件而不提示确认操作。
具体来说,/y 标志告诉 copy 命令在复制过程中自动覆盖已有文件,而不会弹出确认提示框。如果没有指定 /y 标志,则命令行窗口会提示用户确认是否要覆盖目标文件。
在批处理脚本中,copy /y 命令通常用于在进行文件复制操作时覆盖掉已有的同名文件,避免被询问是否确认复制。但请注意,使用该命令时需要谨慎操作,否则可能会不小心覆盖掉重要文件。
删除某目录下所有某类型文件
del /s /path/*.x
/s代表递归删除/path目录及其子目录下所有类型为x的文件,若希望每删除一个文件前询问,可在追加/p 命令
del /s 和 del /p 是 Windows 操作系统中用于删除文件的命令。下面是它们的详细解释:
del /s 删除指定文件或文件夹
/s参数表示递归删除指定目录及其子目录中的所有文件和文件夹。- 指定文件或文件夹时,需要使用绝对路径或相对路径。
- 如果文件或文件夹不存在,则命令将不会执行。
例如,要删除名为 "folder1" 的目录及其子目录中的所有文件和文件夹,可以使用以下命令:
Copy code
del /s folder1 这将递归地删除 "folder1" 目录及其子目录中的所有文件和文件夹。
del /p删除指定文件或文件夹,并保存删除确认对话框
/p参数表示在删除文件或文件夹之前,显示删除确认对话框,以便用户确认是否删除。- 如果不使用此参数,则命令将直接删除文件或文件夹。
- 指定文件或文件夹时,需要使用绝对路径或相对路径。
例如,要删除名为 "folder1" 的目录及其子目录中的所有文件和文件夹,并保存删除确认对话框,可以使用以下命令:
Copy code
del /p folder1 这将显示删除确认对话框,以便用户确认是否删除 "folder1" 目录及其子目录中的所有文件和文件夹。
总之,del /s 和 del /p 都是用于删除文件或文件夹的命令,但它们的效果不同。del /s 将递归地删除指定目录及其子目录中的所有文件和文件夹,而 del /p 将在删除文件或文件夹之前,显示删除确认对话框,以便用户确认是否删除。
del命令
del 命令是 Windows 命令行中用于删除文件或文件夹的命令。以下是一些常用的 del 命令解释:
删除文件或文件夹:
del [文件或文件夹路径]其中,
文件或文件夹路径是要删除的文件或文件夹的路径。如果省略路径,则默认为当前目录。例如,要删除名为
example.txt的文件,可以运行以下命令:del example.txt删除指定目录下的所有文件和子目录:
del [目录路径]/*其中,
目录路径是要删除的目录的路径。*/表示删除该目录下的所有文件和子目录。例如,要删除名为
mydir的目录及其子目录和文件,可以运行以下命令:del mydir/*删除指定目录下的所有文件和子目录,不包括指定文件:
del [目录路径]/?其中,
目录路径是要删除的目录的路径。/?表示不删除指定文件所在的目录。例如,要删除名为
mydir的目录下的所有文件和子目录,但不包括example.txt文件,可以运行以下命令:del mydir/?删除当前目录下的所有文件和子目录:
del *.*其中,
*.*表示删除当前目录下的所有文件和子目录。例如,要删除当前目录下的所有文件和子目录,可以运行以下命令:
del *.*
请注意,删除操作将永久删除指定的文件或文件夹,因此在使用 del 命令之前,请务必仔细检查要删除的内容。
