为什么forfiles输出没有重定向到我的脚本中的日志

时间:2015-03-27 12:01:26

标签: batch-file scripting cmd command-prompt

。嗨, 我在下面的脚本中,forfiles命令没有重定向到txtfile。

此外,如果你在脚本中做任何不同的事情我会很喜欢你的反馈。

@echo off
:: Date format from DD/MM/YYYY to YYYY.MM.DD
set DATESTAMP=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%

:: Output all to txt
>F:\Backups\SQLBackups-%DATESTAMP%.txt (

:: Backup and Copy loop.
setlocal enabledelayedexpansion 
for %%i in (
    DB1
    DB2
    DB3
) do (
    set DATABASENAME=%%i
    set BACKUPFILENAME=F:\Backups\!DATABASENAME!-!DATESTAMP!.bak

    echo -- Backing Up Database !DATABASENAME! --
    sqlcmd -E -S DBServer -d master -Q "BACKUP DATABASE [!DATABASENAME!] TO     DISK = '!BACKUPFILENAME!' WITH DESCRIPTION = 'Full backup [!DATABASENAME!]', CHECKSUM, INIT, COMPRESSION, STATS"
    echo.

    echo -- Copying Database !DATABASENAME!--
    robocopy F:\Backups\ Y:\DBServer\ !DATABASENAME!-!DATESTAMP!.bak
)
endlocal

:: Delete files older than 180 days
forfiles -p F:\Backups\ -s -m *.* -d "-180" /C "cmd /c del @path"
)

由于

1 个答案:

答案 0 :(得分:1)

在编写时,除非出现错误,否则对文件执行forfiles命令的del命令不会产生任何输出。因此,假设没有错误,它将不会附加任何内容。

如果要将处理过的文件列表附加到日志中,请使用

forfiles -p F:\Backups\ -s -m *.* -d "-180" /C "cmd /c echo @path & del @path"