2017-04-25 61 views
-1
REM  @echo off 

REM  ** PART1 - GET LIST OF PCS ON NETWORK ** 
    NET VIEW > Working\Netview.txt 

REM  ** PART2 - TRIM LIST DOWN SO LEFT 20 CHARACTERS ** 
    BIN\sed -e 's/^\(.\{20\}\).*/\1/' Working\Netview.txt > Working\Hostnames.txt 

REM  ** PART3 - NOW TRIM DOWN TO JUST COMPUTER NAMES ** 
rem  BIN\fgrep -e \\ Working\Hostnames.txt > "Working\Hostnames2.txt" 

Hostnames2.txt输出(缩短,该列表是很多更长)批处理文件创建 - 添加字符

\ ALASTAIR-MUNRO
\ ANDREW加德纳
\ ANDREWATKINSON
\ ANDY -KAYE
\ ANDYTURNER
\ BARRYWALL
\ CAD-SPARE1

我需要,我可以运行一个命令,然后添加“中psinfo -s”在每行,所以我得到类似以下的文本输出:

中psinfo -s \ ALASTAIR-MUNRO
中psinfo -s \ ANDREW -GARDNER
psinfo -s \ ANDREWATKINSON

任何想法?

感谢

+0

既然你'sed',像'sed的-e 's/^ /中psinfo -s /' 工作\ hostnames.txt>工作\程序getinfo。蝙蝠“应该工作 – TripeHound

回答

0

执行:

@echo off 
for /f "delims=" %%a in (hostnames2.txt) do psinfo -s %%a 

或写入到只有一个文件:

(for /f "delims=" %%a in (hostnames2.txt) do echo psinfo -s %%a)>output.txt 
0

这应该工作:

@echo off 
set input=Hostnames2.txt 
set output=commands.txt 
type nul>commands.txt 
FOR /F %%L IN (%input%) DO (
    echo psinfo -s %%L>>%output% 
) 

如果要执行而是逐个命令写他们到一个文件中,只是跳过echo>>%output%psinfo -s %%L

相关问题