我有数据流与日期列在这个格式:
MM/DD/YYYY H:M:S
和我试图改变它为:
YYYY/MM/DD H:M:S
如果可能的话,我想在。bat文件中完成。
编辑,这是来自Endoro的答案:
set "mydate=MM/DD/YYYY H:M:S"
for /f "tokens=1-4 delims=/ " %%i in (txt) do (
set "month=%%i"
set "day=%%j"
set "year=%%k"
set "mytime=%%l"
)
set "newtime=%year%/%month%/%day% %mytime%"
echo %newtime%
让我补充一下,如果有帮助的话,我想在逗号分隔的文本文件上执行此操作。
编辑:文件前两行:
05/20/2013 11:00:28,1,048392,3.17,98%,4.8,13.3,50.7,29.2,29.9,29.2,2
05/20/2013 12:00:22,1,048392,3.17,98%,4.8,13.3,50.4,31.6,36,31.4,3
您也可以使用for /f
循环:
@echo off&setlocal
set "mydate=MM/DD/YYYY H:M:S"
for /f "tokens=1-4 delims=/ " %%i in ("%mydate%") do (
set "month=%%i"
set "day=%%j"
set "year=%%k"
set "mytime=%%l"
)
set "newtime=%year%/%month%/%day% %mytime%"
echo %newtime%
. .输出:
YYYY/MM/DD H:M:S
set "dat1=MM/DD/YYYY h:m:s"
set "dat2=%dat1:~6,4%/%dat1:~0,3%%dat1:~3,2%%dat1:~10%"
echo %dat1% - %dat2%
试试这个-基于Endoro的代码和您提供的额外信息。
@echo off
for /f "tokens=1,2,3,* delims=/ " %%i in ('type "file.csv"') do (
echo %%k/%%i/%%j %%l
)>"newfile.csv"