setlocal enabledelayedexpansion
... a lot of batch script ...
IF ... a lot of batch script ...
for /f "skip=2 delims== tokens=2" %%g in ('WMIC DATAFILE WHERE ^"Name^='!filePath!'^" GET Version /value') DO (
set fileVersion=%%g
)
ECHO Version: !fileVersion!
set nightlyBuildFullPath=%2\Setups\Nightly Builds\!fileVersion!\Full\
ECHO FullPath: !nightlyBuildFullPath!
结果:
Version: 1.5.1810.202
FullPath: C:\test\Setups\Nightly Builds\1.5.1810.202
\Full\
我想删除fileVersion变量中的换行符,因为我必须构建一个路径供以后使用。如果我实际构建了路径字符串,那么我会在其中包含一个换行符,这会破坏我的路径。
答案 0 :(得分:2)
ECHO Version: "%fileVersion:~0,-1%"
可能有助于您的调查......
答案 1 :(得分:1)
试试这样:
for /f "skip=2 delims== tokens=2" %%g in ('WMIC DATAFILE WHERE ^"Name^='!filePath!'^" GET Version /value') DO (
for /f "tokens=* delims=" %%# in ("%%g") do set "fileVersion=%%#"
)
答案 2 :(得分:0)
将以下行放入名为veronly.ps1的文件中。将文件名更改为您要检查的文件名。
Get-WmiObject -Class 'CIM_DataFile' -Filter "name='C:\\Program Files (x86)\\PuTTY\\psftp.exe'" | % { $_.Version }
将以下内容放入.bat脚本文件中。
FOR /F %%v IN ('powershell -NoLogo -NoProfile -File .\veronly.ps1') DO (SET "THEVERSION=%%v")
ECHO %THEVERSION%