[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 11# yanni_enya


   
  1. rem 另存为 ANSI 编码 bat
  2. ' & cls & cscript.exe /nologo /e:vbscript "%~f0" %* & exit /b
  3. S = "192.168.0.254"    '教师机的IP或计算机名
  4. U = "administrator"    '用户名
  5. P = "12345678"         '密码
  6. t = ""
  7. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  8. For Each i In oWMI.InstancesOf("Win32_PhysicalMemory")
  9.     t = t & CInt(i.Capacity / 1024 ^ 3) & "G" & "&"
  10. Next
  11. For Each i In oWMI.InstancesOf("Win32_DiskDrive")
  12.     t = t & CInt(i.Size / 1024 ^ 3) & "G" & "&"
  13. Next
  14. For Each i In oWMI.InstancesOf("Win32_OperatingSystem")
  15.     n = i.CSName
  16. Next
  17. Set oWshShell = CreateObject("WScript.Shell")
  18. oWshShell.Run "net use \\" & S & " " & P & " /user:" & U, 0, True
  19. Set oFSO = CreateObject("Scripting.FileSystemObject")
  20. Set oTextStream = oFSO.OpenTextFile(t & n & ".txt", 2, True)
  21. oTextStream.Write t & n
  22. oTextStream.Close()
  23. oFSO.CopyFile t & n & ".txt", "\\" & S  & "\Y\"
复制代码

QQ 20147578

TOP

回复 8# czjt1234


    您的代码试后教师机收到了学生机发来的文件,文件名是学生机的计算机名,打开可以看到内存、硬盘和机器号。
   您看能否可以直接用文件内的内容直接命名文本文档,这样就不用一个个打开看了。

TOP

回复 9# Five66


    教师机、学生机都是win7 旗舰64位系统,执行代码后学生机上显示:
    "命令成功完成,系统找不到制定的文件,您有以下远程连接 \\teacher\y 继续运行会取消连接,您想继续此操作吗?"
    手动输入y回车后,提示“命令已完成,按任意键继续。”,再次回车黑框消失,教师机y文件夹内啥也没有。

TOP

不知行否
需要
学生机系统win10
教师机共享文件数量限制调大点
其中
教师机共享路径 \\192.168.1.2\Y
教师机用户administrator密码ffu
不是的自己改
  1. <# :
  2. cls&@echo off
  3. set ___sv=\\192.168.1.2\Y
  4. net use *  %___sv% "ffu" /user:administrator
  5. for /f "usebackq delims=" %%a in (`PowerShell -c "type -Literal '%~f0'|out-string|iex"`) do (
  6. set "___f=%%a"
  7. )
  8. copy /y "%___f%" "%___sv%"
  9. net use * /del
  10. timeout /t 2 1>nul&pause
  11. #>
  12. #http://www.bathome.net/post.php?action=reply&fid=5&tid=68226&repquote=277711&extra=page%3D1&page=2
  13. # 获取内存信息
  14. function Get_Info_Memory() {
  15. $memoryInfo = Get-CimInstance -ClassName Win32_PhysicalMemory
  16. [void]$info.add( "内存:【 $( ($memoryInfo | Measure-Object).Count ) 】" )
  17. [void]$info.add( "    总容量: {0} GB" -f $( ( $memoryInfo | Measure-Object -Property Capacity -Sum ).Sum / 1GB ) )
  18. foreach ($memory in $memoryInfo) {
  19. #$( $memory.BankLabel )
  20. [void]$info.add( "    #   插槽    : $( $memory.DeviceLocator )" )
  21. [void]$info.add( "        品牌    : $( $memory.Manufacturer )" )
  22. [void]$info.add( "        序列号  : $( $memory.SerialNumber )" )
  23. [void]$info.add( "        容量    : $( $memory.Capacity / 1GB ) GB" )
  24. [void]$info.add( "        最高频率: $( $memory.Speed )" )
  25. }
  26. [void]$info.add( "" )
  27. if($ooo.count){[void]$ooo.add([int64](( $memoryInfo | Measure-Object -Property Capacity -Sum ).Sum / 1GB))}
  28. }
  29. # 获取硬盘信息
  30. function Get_Info_Disk() {
  31. $diskInfo = Get-CimInstance -ClassName Win32_DiskDrive | Where-Object { $_.MediaType -eq 'Fixed hard disk media' }
  32. foreach ($disk in $diskInfo) {
  33. $physicalDisk = Get-PhysicalDisk | Where-Object { ('\\.\PHYSICALDRIVE' + $_.DeviceID ) -eq $disk.DeviceID }
  34. Add-Member -InputObject $disk -MemberType NoteProperty -Name BusType -Value $physicalDisk.BusType
  35. }
  36. [void]$info.add( "硬盘:【 $( ($diskInfo | Measure-Object).Count ) 】" )
  37. foreach ($disk in $diskInfo) {
  38. [void]$info.add( "    #   DeviceID: $( $disk.DeviceID )" )
  39. [void]$info.add( "        BusType : $( $disk.BusType )" )
  40. [void]$info.add( "        型号    : $( $disk.Model )" )
  41. [void]$info.add( "        序列号  : $( $disk.SerialNumber )" )
  42. [void]$info.add( "        容量    : $( [int]($disk.Size / 1GB) ) GB" )
  43. }
  44. [void]$info.add( "" )
  45. if($ooo.count){[void]$ooo.add([int64](($diskInfo | Measure -sum -Property size).sum / 1GB))}
  46. }
  47. $ooo=[System.Collections.ArrayList]@()
  48. [void]$ooo.add($env:COMPUTERNAME)
  49. $info = [System.Collections.ArrayList]@()
  50. Get_Info_Memory
  51. Get_Info_Disk
  52. $fff=$env:TEMP+'\'+$ooo[2]+'g_'+$ooo[1]+'g_'+$ooo[0]+'.txt'
  53. $info | Out-File -LiteralPath $fff
  54. $fff
复制代码

TOP

  1. rem 另存为 ANSI 编码 bat
  2. ' & cls & cscript.exe /nologo /e:vbscript "%~f0" %* & exit /b
  3. S = "192.168.0.254"    '教师机的IP或计算机名
  4. U = "administrator"    '用户名
  5. P = "12345678"         '密码
  6. t = ""
  7. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  8. For Each i In oWMI.InstancesOf("Win32_PhysicalMemory")
  9.     t = t & CInt(i.Capacity / 1024 ^ 3) & "G" & "&"
  10. Next
  11. For Each i In oWMI.InstancesOf("Win32_DiskDrive")
  12.     t = t & CInt(i.Size / 1024 ^ 3) & "G" & "&"
  13. Next
  14. For Each i In oWMI.InstancesOf("Win32_OperatingSystem")
  15.     n = i.CSName
  16. Next
  17. Set oWshShell = CreateObject("WScript.Shell")
  18. oWshShell.Run "net use \\" & S & " " & P & " /user:" & U, 0, True
  19. Set oFSO = CreateObject("Scripting.FileSystemObject")
  20. Set oTextStream = oFSO.OpenTextFile(n & ".txt", 2, True)
  21. oTextStream.Write t & n
  22. oTextStream.Close()
  23. oFSO.CopyFile n & ".txt", "\\" & S  & "\Y\"
复制代码

QQ 20147578

TOP

回复 5# Five66


    是我没理解你的意思,抱歉。教师机软件就是你说的学生机常驻程序,我可以控制学生机执行批处理的。
    先给学生机传送批处理,然后按照传送路径远程让学生机统一执行一下批处理,再通过批处理自带的语句实现拷贝到教师机的功能。

TOP

这问题主要是教师机该如何执行学生机里的批处理
如果安装了第三方控制系统程序 ,并且能直接执行批处理的话就简单了

TOP

回复 4# yanni_enya


   
除非利用bug ,不然是不能直接执行学生机的批处理的 ,只能通过学生机里的程序自动执行或者用学生机手动执行

其实用nodejs弄个简单的服务器运行 ,也只需要10几M的内存  ,用C弄成服务运行的话估计就几M ,用不了多少内存

实在嫌多的话也可以用系统自带的 ,例如远程桌面 ,教师机一个一个地远程登陆学生机 ,然后执行批处理 (这实际上是学生机里的远程桌面服务程序执行的 ,默认后台常驻)

TOP

回复 3# Five66


    学生机内存够低了,杀软都不舍得装,常驻程序还是算了吧,就是希望通过教师软件远程执行批处理,然后生成的文件都发送到教师机的共享文件夹下。最后再通过批处理生成exce文件,表格里查看。

TOP

弄个简单的服务器 ,学生机里常驻运行
教师机向学生机发送请求
学生机服务器根据请求执行操作并返回信息给教师机
教师机根据返回的信息进行处理

TOP

论坛有大佬分享过获取硬件信息相关的帖子,先看看,从大佬代码中提取出需要的,再按需求修改增加
http://www.bathome.net/thread-68226-1-1.html
【gfd大佬:2楼的代码】和【newswan大佬:18楼的代码】

http://www.bathome.net/thread-38259-1-1.html
【winload大佬:1楼下载】

TOP

返回列表