我需要将目录中的最新文件复制到新位置。到目前为止我已经找到了资源forfiles命令,一个与日期相关的问题这里,还有另一个相关问题。我只是在将各个部分组合在一起时遇到了一些麻烦!如何将该目录中的最新文件复制到新位置?
接受的答案给出了在命令中使用最新文件然后退出的示例。如果您需要在bat文件中执行此操作并执行其他复杂操作,您可以使用以下命令将最新文件的文件名存储在变量中:
FOR /F "delims=" %%I IN ('DIR "*.*" /A-D /B /O:D') DO SET "NewestFile=%%I"
现在你可以参考%NewestFile%
整个 bat 文件的其余部分。
例如,我们使用以下方法从目录中获取最新版本的数据库 .bak 文件,将其复制到服务器,然后恢复数据库:
:Variables
SET DatabaseBackupPath=\\virtualserver1\Database Backups
echo.
echo Restore WebServer Database
FOR /F "delims=|" %%I IN ('DIR "%DatabaseBackupPath%\WebServer\*.bak" /B /O:D') DO SET NewestFile=%%I
copy "%DatabaseBackupPath%\WebServer\%NewestFile%" "D:\"
sqlcmd -U <username> -P <password> -d master -Q ^
"RESTORE DATABASE [ExampleDatabaseName] ^
FROM DISK = N'D:\%NewestFile%' ^
WITH FILE = 1, ^
MOVE N'Example_CS' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Example.mdf', ^
MOVE N'Example_CS_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Example_1.LDF', ^
NOUNLOAD, STATS = 10"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)