如何从批处理

时间:2018-02-11 07:00:25

标签: batch-file wmic

从Root以外的任何地方作为Admin运行时,此工作正常。 它的工作原理是从记事本中保存为ANSI - Unicode根本不产生任何输出。

此Batch用于创建一个新文本文件,其中包含Root的目录列表,使用volumeID作为文件名中的变量。请注意,当UAC打开时,从子目录运行会绕过受保护的根目录

问题是:在ext之前用12个额外的空格填充创建的文件名。

问题是:如何截断空格或阻止它们被追加?

Rem BATCH CODE:---------------------------

Rem -----------Fetch VolumeID as Variable to use in output filename:

@echo off
wmic logicaldisk where drivetype=3 get volumeserialnumber
For /F "Skip=1 Delims=" %%j In ('WMIC LogicalDisk Where "DeviceID='%~d0'" Get VolumeSerialNumber') do (
  set v_VolID=%%j
  goto :DONE
)
:DONE
echo  SERIAL=%v_VolID%
echo %v_VolID%
Pause

rem --------- WRITE VolID.txt with Directory Listing
c:
cd\
dir *.*>"_____TEST Volume ID-%v_VolID%.txt"
endlocal & set "%2=%label_%" & goto :EOF

1 个答案:

答案 0 :(得分:0)

For循环替换为:

For /F "Skip=1 Delims=" %%A In (
    'WMIC LogicalDisk Where "DeviceID='%~d0'" Get VolumeSerialNumber'
) Do For /F %%B In ("%%A") Do Set "v_VolID=%%B"
相关问题