如何从批量变量创建的新文件中删除不需要的空格

How to remove unwanted spaces from new file created from variable in batch

当 运行 从 Root 以外的任何地方以 Admin 身份使用时,这工作正常。 它可以从记事本保存为 ANSI - Unicode 根本不产生任何输出。

此批处理函数用于创建一个新的文本文件,其中包含使用 volumeID 作为文件名中的变量的 Root 目录列表。请注意,当 UAC 开启时,运行来自子目录的 ning 会绕过受保护的根目录进行写入

问题是:创建的文件名在 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

将您的 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"