批量将文件读入变量不起作用
Batch Reading File into Variable not working
我正在尝试使用文件作为中介将命令输出重定向到变量。我能够将命令输出重定向到文件,但无法将文件内容读入变量。
批处理文件脚本
echo off
pushd C:\Software
set TEMP_DIR=C:\Users\prade\Softwares
for /D %%i in (*) do (
pushd "%%i"
echo %TIME% > %TEMP_DIR%\a.log
type %TEMP_DIR%\a.log
for /f "delims=" %%x in (%TEMP_DIR%\a.log) do set duration=%%x
echo %%i %duration%
popd
)
popd
echo on
我给出以下输出
C:\Users\prade>echo off
7:36:47.86
AutoHotKey
7:36:47.86
cygwin64
7:36:47.86
ffmpeg-20150518-git-451be67-win64-static
7:36:47.86
mtn-200808a-win32
7:36:47.86
ProcessExplorer
7:36:47.86
tools
如您所见,目录名称后没有任何内容,但 type
给出了文件内容。
如果我 echo %duration%
在同一个 cmd window 中终止批处理文件后,它会返回上次。
我做错了什么?
@echo off
pushd C:\Software
set "TEMP_DIR=C:\Users\prade\Softwares"
setlocal enableDelayedExpansion
for /D %%i in (*) do (
pushd "%%i"
echo %TIME% > "%TEMP_DIR%\a.log"
type %TEMP_DIR%\a.log
for /f "usebackq delims=" %%x in ("%TEMP_DIR%\a.log") do set "duration=%%x"
echo %%i !duration!
popd
)
popd
echo on
在 ECHO OFF
下方添加 SETLOCAL EnableDelayedExpansion
并使用 !duration!
而不是 %duration%.
访问 duration
我正在尝试使用文件作为中介将命令输出重定向到变量。我能够将命令输出重定向到文件,但无法将文件内容读入变量。
批处理文件脚本
echo off
pushd C:\Software
set TEMP_DIR=C:\Users\prade\Softwares
for /D %%i in (*) do (
pushd "%%i"
echo %TIME% > %TEMP_DIR%\a.log
type %TEMP_DIR%\a.log
for /f "delims=" %%x in (%TEMP_DIR%\a.log) do set duration=%%x
echo %%i %duration%
popd
)
popd
echo on
我给出以下输出
C:\Users\prade>echo off
7:36:47.86
AutoHotKey
7:36:47.86
cygwin64
7:36:47.86
ffmpeg-20150518-git-451be67-win64-static
7:36:47.86
mtn-200808a-win32
7:36:47.86
ProcessExplorer
7:36:47.86
tools
如您所见,目录名称后没有任何内容,但 type
给出了文件内容。
如果我 echo %duration%
在同一个 cmd window 中终止批处理文件后,它会返回上次。
我做错了什么?
@echo off
pushd C:\Software
set "TEMP_DIR=C:\Users\prade\Softwares"
setlocal enableDelayedExpansion
for /D %%i in (*) do (
pushd "%%i"
echo %TIME% > "%TEMP_DIR%\a.log"
type %TEMP_DIR%\a.log
for /f "usebackq delims=" %%x in ("%TEMP_DIR%\a.log") do set "duration=%%x"
echo %%i !duration!
popd
)
popd
echo on
在 ECHO OFF
下方添加 SETLOCAL EnableDelayedExpansion
并使用 !duration!
而不是 %duration%.
duration