Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CpCommand = cli.Command{ Name: "cp", Usage: "copy files and directories", Category: "file", ArgsUsage: "SRC... DEST", Flags: []cli.Flag{ cli.BoolFlag{ Name: "recursive, r, R", Usage: "copy directories recursively", }, }, Action: func(c *cli.Context) { if c.NArg() < 2 { util.AbortWithError(errors.New("at least two arguments expected")) } var ( srcs = c.Args()[0 : c.NArg()-1] dest = c.Args()[c.NArg()-1] isDir = false ) d, err := os.Getwd() if err != nil { util.AbortWithError(err) } i, err := os.Stat(dest) if err == nil && i.IsDir() { isDir = true } if len(srcs) == 1 { filename := path.Base(srcs[0]) if isDir { d = dest } else { filename = dest } if err = util.Copy(srcs[0], path.Join(d, filename)); err != nil { util.AbortWithError(err) } } else { if !isDir { util.AbortWithError(fmt.Errorf("%s is not a directory", dest)) } for _, s := range srcs { if err = util.Copy(s, path.Join(dest, path.Base(s))); err != nil { util.AbortWithError(err) } } } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.