如何使用批处理脚本从当前目录复制文件,而不复制子目录?

时间:2013-09-26 18:40:40

标签: windows batch-file cmd

我有一份学校作业,我坚持这个问题。我不知道还能在哪里转。

所以这个问题从上一个问题开始,即将脚本“myfile.txt”复制到我的环境变量%BackUpPath%(设置为C:\ backup)。我的脚本如下:

  • copy / y myfile.txt%backuppath%

我坚持的问题要求我使用IF EXIST语句结合FOR循环创建一个脚本,以复制当前目录中的所有文件,但不复制任何子目录到%backuppath%。

我该如何编写这个脚本?

2 个答案:

答案 0 :(得分:1)

按顺序尝试这些命令

@echo off tree "C:\backup" find /c "*.TXT" C:\Backup if exists "file path\name" move /y "files within the folder to other folder" del /f /s "main file-path" for each %.txt IN C:\Backup goto a <replace move with copy if needed> ;;this is a rough idea of what you might need.

答案 1 :(得分:1)

这应该可以解决问题,但它是学术性的,而不是现实生活中的代码。

它使用for-in-do的递归开关,检查for-for-do生成的filename.ext是否实际存在于当前目录中 - 然后复制这些文件。

@echo off
set "backuppath=c:\folder"
for /r %%a in (*) do (
    if exist "%cd%\%%~nxa" (
       echo copying "%%a"
       copy "%%a" "%backuppath%" >nul
    )
)