为什么 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"
。你好, 在下面的脚本中,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"