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

Why is forfiles output not redirected to the log in my script

。你好, 在下面的脚本中,forfiles 命令没有重定向到 txt 文件。

此外,如果您希望在脚本中做任何不同的事情,我很乐意收到您的反馈。

@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"
)

谢谢

如上所写,您的 forfiles 命令在文件上执行 del 命令应该不会产生任何输出,除非出现错误。所以,假设没有错误,它不会附加任何内容。

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

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