拷贝某路径下一种类型文件到另外一个路径
代码
@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%
)
pause
for /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
命令之前,请务必仔细检查要删除的内容。