Replace options with args for directories input
This commit is contained in:
10
README.md
10
README.md
@@ -65,25 +65,25 @@ go build -o photorg
|
|||||||
### Основной синтаксис
|
### Основной синтаксис
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./photorg -source <исходная_директория> -dest <целевая_директория> [опции]
|
./photorg <исходная_директория> <целевая_директория> [опции]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Параметры
|
### Параметры
|
||||||
|
|
||||||
- `-source` - исходная директория для сканирования (обязательный)
|
- `исходная_директория` - исходная директория для сканирования (обязательный позиционный аргумент)
|
||||||
- `-dest` - целевая директория для организации файлов (обязательный)
|
- `целевая_директория` - целевая директория для организации файлов (обязательный позиционный аргумент)
|
||||||
- `-dry-run` - режим предварительного просмотра без фактического перемещения файлов
|
- `-dry-run` - режим предварительного просмотра без фактического перемещения файлов
|
||||||
|
|
||||||
### Примеры использования
|
### Примеры использования
|
||||||
|
|
||||||
#### Предварительный просмотр
|
#### Предварительный просмотр
|
||||||
```bash
|
```bash
|
||||||
./photorg -source /home/user/Pictures -dest /home/user/Organized -dry-run
|
./photorg /home/user/Pictures /home/user/Organized -dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Организация фотографий
|
#### Организация фотографий
|
||||||
```bash
|
```bash
|
||||||
./photorg -source /home/user/Pictures -dest /home/user/Organized
|
./photorg /home/user/Pictures /home/user/Organized
|
||||||
```
|
```
|
||||||
|
|
||||||
## Структура результата
|
## Структура результата
|
||||||
|
15
main.go
15
main.go
@@ -31,17 +31,24 @@ type FileInfo struct {
|
|||||||
func main() {
|
func main() {
|
||||||
var config Config
|
var config Config
|
||||||
|
|
||||||
flag.StringVar(&config.SourceDir, "source", "", "Source directory to scan for photos")
|
|
||||||
flag.StringVar(&config.DestDir, "dest", "", "Destination directory to organize photos")
|
|
||||||
flag.BoolVar(&config.DryRun, "dry-run", false, "Show what would be done without actually moving files")
|
flag.BoolVar(&config.DryRun, "dry-run", false, "Show what would be done without actually moving files")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if config.SourceDir == "" || config.DestDir == "" {
|
// Получаем позиционные аргументы
|
||||||
fmt.Println("Usage: photorg -source <source_dir> -dest <dest_dir> [-dry-run]")
|
args := flag.Args()
|
||||||
|
if len(args) != 2 {
|
||||||
|
fmt.Println("Usage: photorg <source_dir> <dest_dir> [-dry-run]")
|
||||||
|
fmt.Println("\nArguments:")
|
||||||
|
fmt.Println(" source_dir Source directory to scan for photos")
|
||||||
|
fmt.Println(" dest_dir Destination directory to organize photos")
|
||||||
|
fmt.Println("\nOptions:")
|
||||||
flag.PrintDefaults()
|
flag.PrintDefaults()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config.SourceDir = args[0]
|
||||||
|
config.DestDir = args[1]
|
||||||
|
|
||||||
if err := validateDirectories(config.SourceDir, config.DestDir); err != nil {
|
if err := validateDirectories(config.SourceDir, config.DestDir); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user