如何批量更新替换文档文件?

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:51:07
谢谢各位大大first~
我现在有如下的几个文件:

资料1-2008.09.09 223000.txt
资料1-2008.09.09 223100.txt
资料1-2008.09.09 223200.txt

如上,文件的命名规则是:文件内容-日期-创建的时分秒~

这里边装着的是我要导入到excel(2003)中的数据,我希望我能够在excel中使用到自动更新数据这个功能(省事),不过貌似excel里面自动更新数据的话是要事先确定文件名的...

所以我希望能够找到一个方法,可以让我导入最新创建的那个txt文件的数据...

如果说的太抽象,我这样说:
因为上面说的文件,名称最后是日期和时分秒的数值,我希望可以去掉日期和时分秒,剩下前面的部分,然后在excel里面的导入外部数据时定位文件是直接用
"资料1.txt"
这样的一个文件...
上面的例子中,我想用一个程序或者批处理,首先比较
资料1-2008.09.09 223000.txt
资料1-2008.09.09 223100.txt
资料1-2008.09.09 223200.txt
文件名中的时间,再修改时间最新的文件名为"资料1.txt",并覆盖之前的"资料1.txt"文件,好让excel导入...

我表达能力不是很好,大家见谅了,希望大家帮我出出点子...谢谢大家了
你是指批处理吗?我想要更详细的做法...谢谢了

稍微改了一下,名字有"-"的话用这个.
注意同一个文件夹里不要有别的文件名格式的txt文件,而且日期格式不能改变.

@echo off
setlocal enabledelayedexpansion
call:main
pause
endlocal
goto :eof

:main
if not exist ~new\* md ~new
if errorlevel 1 (
echo :无法创建文件夹 ~new
exit /b
)
set "filename="
for /f "delims=" %%i in ('dir /a /b /o:-n *.txt') do (
set "type=%%i"
set "type=!type:~0,-22!"
if not "!filename!"=="!type!" (
set "filename=!type!"
call:xuanze "!type!-"
if "!answer!"=="" (
echo :找不到 !type!-*.txt
) else (
copy /y !answer! ~new\"!type!.txt"
if errorlevel 1 echo :无法复制文件到 ~new : !answer!
)
)
)
exit /b

:xuanze
for /f "delims=" %%i in ('dir "%~1*.txt" /a /b /o:-n') do (
set "