先记录,后续整理一个学习笔记
主要来自:bat 批处理教程_w3cschool
复制
copy a.txt b.txt /y
/y 的意思是如果存在b.txt 的话,不提示直接覆盖
直接使用 >> ,无法使用
工作中经常需要copy一个文件以及相关的文件
@echo off
echo Variable defination
set SourceFolder=E:\project\xxx\project_v2\Project_v2
set DestFolder=E:\project\xxx\project_v2\20240402
set LogFile=%DestFolder%\copy.log
rem THIS Is bat process file
echo NOW is copying...
xcopy "%SourceFolder%\src\*" "%DestFolder%\src\*" /E /I /Y
xcopy "%SourceFolder%\project_1\project_1.srcs\*" "%DestFolder%\project_1\project_1.srcs\*" /E /I /Y
xcopy "%SourceFolder%\project_1\project_1.sdk\*" "%DestFolder%\project_1\project_1.sdk\*" /E /I /Y
copy "%SourceFolder%\project_1\project_1.xpr" "%DestFolder%\project_1\project_1.xpr"
echo Copy is Done!
pause
说明:
set sourcePath=C:\path\to\your\source\
:定义了一个名为sourcePath
的变量,其内容是源文件夹的路径。set destinationPath=C:\path\to\your\destination\
:定义了一个名为destinationPath
的变量,其内容是目标文件夹的路径。set fileName=source.txt
:定义了一个名为fileName
的变量,其内容是要拷贝的文件名。copy "%sourcePath%%fileName%" "%destinationPath%"
:使用copy
命令结合之前定义的变量来拷贝文件。注意路径和文件名变量之间没有空格,因为我们在变量值的末尾和开头分别包括了反斜杠\
和文件名。
@echo off
set /p sourcePath=请输入源路径:
set /p destinationPath=请输入目标路径:
set /p fileName=请输入文件名:
copy "%sourcePath%\%fileName%" "%destinationPath%\"
echo 文件已从 %sourcePath% 拷贝到 %destinationPath%
pause
这里,set /p variableName=提示信息
会显示提示信息并等待用户输入,输入的内容将被存储在指定的变量中。
通过使用变量,你可以创建更加灵活和强大的批处理脚本来满足各种自动化任务的需求。