You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
832 B
43 lines
832 B
package Common
|
|
|
|
import (
|
|
"bufio"
|
|
"bytes"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"log"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func ChangeServer(ip string){
|
|
//域名
|
|
domain := "server.dsmin.com"
|
|
//要修改的文件
|
|
fileName := "c:/windows/system32/drivers/etc/hosts"
|
|
|
|
//Buffer是一个实现了读写方法的可变大小的字节缓冲
|
|
var buffer bytes.Buffer
|
|
//读取文本文件
|
|
file, err := os.Open(fileName)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer file.Close()
|
|
//读取到缓冲中
|
|
scanner := bufio.NewScanner(file)
|
|
for scanner.Scan() {
|
|
lineText := scanner.Text()
|
|
if strings.Index(lineText, domain) > 0 {
|
|
buffer.WriteString(ip + " " + domain + "\n")
|
|
} else {
|
|
buffer.WriteString(lineText + "\n")
|
|
}
|
|
}
|
|
data := []byte(buffer.String())
|
|
if ioutil.WriteFile(fileName, data, 0644) == nil {
|
|
fmt.Println("写入文件成功!IP="+ip)
|
|
}
|
|
}
|
|
|