func _Upload(client *goftp.Client, local, remote string) {
	files := make([]string, 0)
	if strings.HasPrefix(local, "@") {
		rdr, err := os.Open(strings.TrimPrefix(local, "@"))
		if err != nil {
			log.Printf("[ERR]  %s\r\n", err.Error())
		}
		buf := bufio.NewScanner(rdr)
		for buf.Scan() {
			if buf.Err() != nil {
				break
			}
			lineStr := strings.TrimSpace(buf.Text())
			if lineStr == "" {
				continue
			}
			files = append(files, lineStr)
		}
	} else {
		files = append(files, local)
	}

	for i, f := range files {
		log.Printf("[MSG]  Uploading %d: %s\r\n", i+1, f)
		rst := ""
		for r := 0; r <= retry; r++ {
			if r > 0 {
				time.Sleep(time.Millisecond * 500)
				log.Printf("[MSG]  Retrying %d: %s\r\n", r, f)
			}
			rdr, err := os.Open(f)
			if err != nil {
				rdr.Close()
				rst = err.Error()
				continue
			}
			err = client.Store(remote, rdr)
			if err != nil {
				rdr.Close()
				rst = err.Error()
				continue
			}
			if rst != "" {
				log.Printf("[ERR]  Upload NG: %s\r\n", f)
			}
			log.Printf("[MSG]  Upload OK: %s\r\n", f)
		}
	}
}
