Batch file 替换并剪切或嵌套替换(x2)一行(批处理文件)

Batch file 替换并剪切或嵌套替换(x2)一行(批处理文件),batch-file,cmd,filenames,command-line-arguments,Batch File,Cmd,Filenames,Command Line Arguments,如何在一行cmd中将当前日期和时间转换为没有空格的文件名 我知道如何用两行字来表达: set file_name=file_%date%-%time:~0,2%%time:~3,2%%time:~6,2% rem echo %file_name% return "file_2015-08-01- 85012" and it's not ok (包含空格) (无空格) 但我不能在*.bat文件中运行程序-我必须运行“原始”*.exe,它需要一行中的所有参数。for/f“tokens=1-6 d

如何在一行cmd中将当前日期和时间转换为没有空格的文件名

我知道如何用两行字来表达:

set file_name=file_%date%-%time:~0,2%%time:~3,2%%time:~6,2%
rem echo %file_name% return "file_2015-08-01- 85012" and it's not ok 
(包含空格)

(无空格)

但我不能在*.bat文件中运行程序-我必须运行“原始”*.exe,它需要一行中的所有参数。

for/f“tokens=1-6 delims=:/-%a in('robocopy“|”)/njh^ | find“|”)do echo%a-%b-%c-%d%e%f
for/f“tokens=1-6 delims=:/-%a in('robocopy“|“/njh^ | find”|“')是否回显%a-%b-%c-%d%e%f

看看这个:看看这个:它应该作为一个参数传递给*.exe程序。您不能将“for…”作为参数传递-一种解决方案是传递“file_u%date%-%time:~0,2%%time:~3,2%%time:~6,2%”,但我希望使用“0”而不是“(空格)。@jakson,我们的想法不是将
exefile用于/f…
,而是将
用于/b。。。。。exefile文件\uu%a-%b-%c-%d%e%f
。在前面的代码中,将
echo
替换为executableIt,它应作为参数之一传递给*.exe程序。您不能将“for…”作为参数传递-一种解决方案是传递“file_u%date%-%time:~0,2%%time:~3,2%%time:~6,2%”,但我希望使用“0”而不是“(空格)。@jakson,我们的想法不是将
exefile用于/f…
,而是将
用于/b。。。。。exefile文件\uu%a-%b-%c-%d%e%f
。在前面的代码中,用可执行文件替换
echo
set file_name=%file_name: =0%
echo echo %file_name% return "file_2015-08-01-085012" and it's ok