批处理文件,以查找子文件夹中的.ts文件,然后将它们移动到目录?

时间:2016-02-18 23:16:58

标签: batch-file

我找到了可以在子文件夹中找到所有.ts文件的代码,然后创建它们的日志。我需要将所有这些内容移动到一个目录中,而不是创建日志,这样他们就可以在一起了。这是我的代码:

@echo off
setlocal enabledelayedexpansion
set /a counter=1
for /r %%i in (*.ts) do (

echo !counter! %%~nxi >> search_result.txt
set /a counter=!counter!+1
)
endlocal

谢谢你们!

2 个答案:

答案 0 :(得分:1)

插入for循环的主体

echo(move "%%i" "c:\destination directory\"

(代替发布代码中的空白行)

结果应该是报告将移动哪些文件。

如果报告正确无误,请将echo(move更改为move以实际移动文件。

请注意echo(是正确的 - 此处不需要它(echo就足够了)但确保如果echo的参数完全为空,则换行符为制作,而不是echo status report

请注意,如果文件名已存在于目标目录中,move将对象,其名称显然取决于您。

答案 1 :(得分:0)

正如他所说 " Magoo"

  

如果报告正确,请将echo(move更改为move实际   移动文件。

@echo off
Set NameFolder=TSFolder
Set DestinationFolder=%~dp0%NameFolder%
Set LogFile=search_result.txt
If Not Exist %DestinationFolder% MD %DestinationFolder%
setlocal enabledelayedexpansion
set /a counter=1
(
for /r %%i in (*.ts) do ( 
    echo !counter! - %%~nxi
    echo(move "%%i" "%DestinationFolder%"
    set /a counter=!counter!+1
    )
)> %LogFile%
endlocal
Start "" %LogFile%