标题: [文件操作] [已解决]求助手动备份文件的BAT代码区别 [打印本页]
作者: jave000 时间: 2023-3-21 09:54 标题: [已解决]求助手动备份文件的BAT代码区别
本帖最后由 jave000 于 2023-3-21 16:53 编辑
求助以下两个代码,代码主体一样,都是对与批处理文件同目录下的指定文件进行备份,并对文件名加上当天日期的后缀,然后将备份文件丢入Backup子目录内。
第一个代码包含了具体文件名,可以正常备份,备份文件也包含了日期后缀;
第二个代码使用通配符文件名,是我想要的形式,这样丢入任意文件夹内都能运行,它也确实能备份,但是备份文件始终不带日期后缀。
请问要如何修改才能让第二个代码既能使用通配符,也能带有日期后缀?- @echo off&setlocal enabledelayedexpansion
- for /f %%i in ('powershell -c "'{0:yyyy.MM.dd}' -f (get-date)"') do (
- set "Today=%%i"
- )
- echo f |xcopy /y "%~dp0\123.xlsx" "%~dp0\123_%Today%.xlsx"
复制代码
--------------------------------------------------------------------------------------------------------------- @echo off&setlocal enabledelayedexpansion
- for /f %%i in ('powershell -c "'{0:yyyy.MM.dd}' -f (get-date)"') do (
- set "Today=%%i"
- )
- echo f |xcopy /y "%~dp0\*.xlsx" "%~dp0\*_%Today%.xlsx"
复制代码
作者: Batcher 时间: 2023-3-21 11:45
回复 1# jave000 - @echo off
- for /f %%i in ('powershell -c "'{0:yyyy.MM.dd}' -f (get-date)"') do (
- set "Today=%%i"
- )
- for /f "delims=" %%i in ('dir /b /a-d *.xlsx') do (
- copy /y "%~dp0\%%i" "%~dp0\%%~ni_%Today%%%~xi"
- )
复制代码
作者: jave000 时间: 2023-3-21 13:08
本帖最后由 jave000 于 2023-3-21 13:18 编辑
回复 2# Batcher
感谢大神,按照我自己的需求,改成了如下。经测试,可以不影响备份子目录内已有的旧有文件。
虽然并不明白为什么xcopy使用通配符会出现那样的状况。- @echo off
- for /f %%i in ('powershell -c "'{0:yyyy.MM.dd}' -f (get-date)"') do (
- set "Today=%%i"
- )
- md Backup
- for /f "delims=" %%i in ('dir /b /a-d *.xls*') do (
- copy /y "%~dp0\%%i" "%~dp0\Backup\%%~ni_%Today%%%~xi"
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |