用于修改列的日期格式的Windows批处理(.bat)命令

用于修改列的日期格式的Windows批处理(.bat)命令,windows,date,batch-file,command-line,Windows,Date,Batch File,Command Line,我使用以下格式的日期列进行数据流传输: MM/DD/YYYY H:M:S 我想把它改成: YYYY/MM/ddh:M:S 如果可能,我希望在.bat文件中执行此操作 编辑,以下是恩多的答案: 设置“mydate=MM/DD/YYYY H:M:S” for/f“tokens=1-4 delims=/”%%i in(txt)do( ) 设置“新时间=%year%/%month%/%day%%mytime%” echo%newtime% 让我补充一点,如果有帮助的话,我想在逗号分隔的文本文件上这样做

我使用以下格式的日期列进行数据流传输:

MM/DD/YYYY H:M:S

我想把它改成:

YYYY/MM/ddh:M:S

如果可能,我希望在.bat文件中执行此操作

编辑,以下是恩多的答案:

设置“mydate=MM/DD/YYYY H:M:S”

for/f“tokens=1-4 delims=/”%%i in(txt)do(

)
设置“新时间=%year%/%month%/%day%%mytime%”

echo%newtime%

让我补充一点,如果有帮助的话,我想在逗号分隔的文本文件上这样做

编辑:文件的前两行:


您还可以使用
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

试试这个-基于恩多的代码和你提供的额外信息

@echo off
for /f "tokens=1,2,3,* delims=/ " %%i in ('type "file.csv"') do (
echo %%k/%%i/%%j %%l
)>"newfile.csv"

您是否介意展示一下我将如何使用文本文件,对不起,我不熟悉编写批处理命令。例如,文本文件的第一列有日期信息。如果在第一行/左侧有一个带有时间戳的文本文件,您可以尝试以下操作:
For/f“tokens=1-4 delims=/”%%i in(text.txt)do(
(用脚本的第一行替换此行)。我已经编辑了我的原始文件,以包含您对文本文件的响应。但是,这不起作用,我应该添加以逗号分隔的数据,但时间戳都在第一列中。因此,请在分隔符中添加逗号:
“tokens=1-4 delims=,/”
。因此,您应该将文本文件的(第一行)发布到您的答案或粘贴站。
@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
@echo off
for /f "tokens=1,2,3,* delims=/ " %%i in ('type "file.csv"') do (
echo %%k/%%i/%%j %%l
)>"newfile.csv"