我有一个运行python脚本的批处理文件。完成后的python脚本发送如下所示的数字: 我需要我的批处理文件在运行时读取自己的输出然后使用它(下图中显示的数字3进行一些处理 批次可以实现吗?
我想要一个使用“net use”命令的脚本。 此特定命令的输出如下所示...将打印到运行脚本的cmd窗口中!现在我希望我的脚本读取此输出..就像在已映射的驱动器列表中找到某个地址一样,它会做一些事情......比如取消映射驱动器
答案 0 :(得分:0)
我不太清楚你的目的是什么,python
要捕获net use
命令输出需要做什么?
根据经验,要捕获任何命令输出,您必须使用for
循环(即此处使用powershell
rem get clipboard content into variable
set "psCmd=powershell -Command "add-type -an system.windows.forms; [System.Windows.Forms.Clipboard]::GetText()""
for /F "usebackq delims=" %%# in (`%psCmd%`) do set "clipContent=%%#"
因此,为了获取net use
@echo off
for /f "skip=6 tokens=2,3" %%a in ('net use') do (
echo/%%a | find ":">NUL && echo/Drive letter %%a - Remote name %%b
)
exit/B
但是,我建议您最好使用wmic
(以下两个相似)
@echo off
for /f "useback skip=1 tokens=1,2" %%a in (`"wmic path Win32_LogicalDisk Where DriveType="4" get DeviceID, ProviderName"`) do (
echo/%%a | find ":">NUL && echo/Drive letter %%a - Remote name %%b
)
exit/B
或
@echo off
for /f "useback skip=1 tokens=1,2" %%a in (`"wmic path Win32_MappedLogicalDisk get DeviceID, ProviderName"`) do (
echo/%%a | find ":">NUL && echo/Drive letter %%a - Remote name %%b
)
exit/B
因为,您可以将/node:"some_other_computer_name"
开关添加到wmic
,并可以从网络上的任何计算机列出映射的驱动器,即
@echo off
for /f "useback skip=1 tokens=1,2" %%a in (`"wmic /node:"hp-ml110" path Win32_MappedLogicalDisk Where DriveType="4" get DeviceID, ProviderName"`) do (
echo/%%a | find ":">NUL && echo/Drive letter %%a - Remote name %%b
)
exit/B
希望它有所帮助。