teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

画像を引用に変更

2021/06/30 10:38

投稿

izuki_y
izuki_y

スコア65

title CHANGED
File without changes
body CHANGED
@@ -3,12 +3,47 @@
3
3
 
4
4
  Windows10で
5
5
  下記の様に**同名のサブフォルダ**にあるファイルを上位に持ってきたいです。
6
- ![サンプルBefore](468f592aa96a1ac7f24ae61df42051ab.jpeg)
7
6
 
7
+ ```
8
+ D:\>tree /f test
9
+ D:\TEST
10
+
11
+ ├─iOS Note
12
+ │ └─iOS Note
13
+ │ └─iOS Note
14
+ │ └─iOS Note
15
+ │ ├─2
16
+ │ │ image-0001.jpg
17
+ │ │
18
+ │ └─1
19
+ │ image-0002.jpg
20
+
21
+ └─Android Note
22
+ └─Android Note
23
+ └─Android Note
24
+ └─Android Note
25
+ └─Android Note
26
+ image-0003.jpg
27
+ ```
28
+
8
29
  こんな感じ
9
- ![サンプルAfter](b44ab677744f5855b25f630d3a296d3b.jpeg)
10
30
 
31
+ ```
32
+ D:\>tree /f test
33
+ D:\TEST
34
+
35
+ ├─iOS Note
36
+ ├─2
37
+ │ image-0003.jpg
38
+
39
+ └─1
40
+ image-0002.jpg
41
+
42
+ └─Android Note
43
+ image-0003.jpg
44
+ ```
11
45
 
46
+
12
47
  これをやるに当たって、バッチファイルで取る様にしようと考えました。
13
48
  1. 最下層のフォルダパスを取ってきて変数に入れる
14
49
  1. 番号リスト変数内で重複しているフォルダがあれば削除して宛先にする
@@ -19,7 +54,20 @@
19
54
  とりあえずフォルダのパスを取って来ることを考えました。
20
55
  `dir / b /s /ad d:\test\`でパスは取れました。
21
56
  こんな感じになりました。
57
+ ```
22
- ![dir / b /s /ad d:\test\結果](35ce917a68ba26991594c486d2b5aa05.jpeg)
58
+ D:\>dir / b /s /ad d:\test\
59
+ d:\test\iOS Note
60
+ d:\test\Android Note
61
+ d:\test\iOS Note\iOS Note
62
+ d:\test\iOS Note\iOS Note\iOS Note
63
+ d:\test\iOS Note\iOS Note\iOS Note\iOS Note
64
+ d:\test\iOS Note\iOS Note\iOS Note\iOS Note\2
65
+ d:\test\iOS Note\iOS Note\iOS Note\iOS Note\1
66
+ d:\test\Android Note\Android Note
67
+ d:\test\Android Note\Android Note\Android Note
68
+ d:\test\Android Note\Android Note\Android Note\Android Note
69
+ d:\test\Android Note\Android Note\Android Note\Android Note\Android Note
70
+ ```
23
71
 
24
72
  全てのフォルダが取れました。
25
73
  色々オプションも変えてみましたが無理でした。
@@ -28,15 +76,19 @@
28
76
  `dir / b /s /ad d:\test\ > folder_path.csv`で全パスを取って手動で加工して`move [送り元] [宛先]`にすることにしました。
29
77
 
30
78
  結果は、
31
- Keikaku Android Note はまぁ上手くいきました。**空のフォルダが残りました**がこれは別のコマンドで消せます。
79
+ Android Note はまぁ上手くいきました。**空のフォルダが残りました**がこれは別のコマンドで消せます。
32
80
 
33
81
  問題はKeikaku iSO Notesです。
34
82
  いくらやっても構文エラーになります。
83
+ ```
84
+ D:\>move "D:\test\iOS Note\iOS Note\iOS Note\iOS Note*" "D:\test\iOS Note"
35
- ![ジ説明](2174060d5102acc4051130acf9aebe0a.jpeg)
85
+ ファル名、ディレクトリ名、またはボリュム ラベルの構文が間違っています。
36
86
 
87
+ D:\>move "D:\test\iOS Note\iOS Note\iOS Note\iOS Note\" "D:\test\iOS Note"
88
+ 指定されたファイルが見つかりません。
89
+ ```
90
+
37
91
  調べてみたところ、**moveコマンドのフォルダの移動については既存フォルダが無い場合はエラー**になるそうです。
38
- こんな事もやってみましたが無理でした。
39
- ![移動したと表示されているけど移動していない](93304e5f8f25dafbfe123cca1ceac415.jpeg)
40
92
  万策つきました。
41
93
 
42
94
  方法が無いかネット調べてみましたが、1階層下のファイルを引き上げる方法はありますが、最下層フォルダのファイルを引き上げる事を