2017-04-25 44 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