从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
答案 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"