質問編集履歴

1

追記とコード修正

2021/07/26 12:30

投稿

akit0928
akit0928

スコア3

test CHANGED
File without changes
test CHANGED
@@ -8,17 +8,17 @@
8
8
 
9
9
  よろしくお願いします。
10
10
 
11
+ ※ミスしていましたので現在つかっているものに修正しました。
12
+
11
13
 
12
14
 
13
15
  ```bat
14
16
 
15
17
  @set /p answer=ディレクトリを指定
16
18
 
17
- @set /p before=フォルダ名_:
19
+ @set /p before=フォルダ名前_
18
20
 
19
- @set /p after=フォルダ名_:
21
+ @set /p after=フォルダ名後_
20
-
21
- @set /p SEARCHTEXT=残したい文字列:
22
22
 
23
23
  cd %answer%
24
24
 
@@ -34,7 +34,13 @@
34
34
 
35
35
 
36
36
 
37
+ SET SEARCHTEXT="テスト"
38
+
39
+
40
+
37
41
  for /d %%x in ("*%N:~-2%*") do (
42
+
43
+
38
44
 
39
45
  echo "%%x" | find %SEARCHTEXT% >NUL
40
46
 
@@ -48,8 +54,78 @@
48
54
 
49
55
  )
50
56
 
57
+
51
58
 
59
+ )
52
60
 
53
61
  exit /b
54
62
 
55
63
  ```
64
+
65
+
66
+
67
+
68
+
69
+ 上記内容でメインフォルダのディレクトリからバッチをかけると、
70
+
71
+ ```ここに言語を入力
72
+
73
+ メインフォルダ
74
+
75
+  ├ 新しいフォルダー (01)
76
+
77
+  ├ 新しいフォルダー (02)
78
+
79
+  ├ 新しいフォルダー (03) テスト
80
+
81
+
82
+
83
+  ├ 新しいフォルダー (05) テスト
84
+
85
+  ︙(これを連番で20まで)
86
+
87
+
88
+
89
+  └ 新しいフォルダー (20)
90
+
91
+ ```
92
+
93
+
94
+
95
+ コマンド実行中、*01*のフォルダを指定しているのに下記のように、「新しいフォルダー (12)」を取得してしまうような現象が起きます。
96
+
97
+ また、*09*の時に「新しいフォルダー (14)」を取得してしまうなど取得の規則性もあまり感じられずにこまっています。
98
+
99
+
100
+
101
+ > C:\Users\USERNAME\Downloads\メインフォルダー>for / %x in ("*01*") do (
102
+
103
+ > echo "%x" | find "テスト" 1>NUL
104
+
105
+ > IF NOT ERRORLEVEL 1 (ren "%x" "aaa01zzz "テスト"" ) ELSE (ren "%x" "aaa01zzz" )
106
+
107
+ > )
108
+
109
+ >
110
+
111
+ > C:\Users\USERNAME\Downloads\メインフォルダー>(
112
+
113
+ > echo "新しいフォルダー (12)" | find "テスト" 1>NUL
114
+
115
+ > IF NOT ERRORLEVEL 1 (ren "新しいフォルダー (12)" "aaa01zzz "テスト"" ) ELSE (ren "新しいフォルダー (12)" "aaa01zzz" )
116
+
117
+ > )
118
+
119
+ >
120
+
121
+ > C:\Users\USERNAME\Downloads\メインフォルダー>(
122
+
123
+ > echo "新しいフォルダー (01)" | find "テスト" 1>NUL
124
+
125
+ > IF NOT ERRORLEVEL 1 (ren "新しいフォルダー (01)" "aaa01zzz "テスト"" ) ELSE (ren "新しいフォルダー (01)" "aaa01zzz" )
126
+
127
+ > )
128
+
129
+ > 重複するファイル名が存在するか、またはファイルが
130
+
131
+ > 見つかりませんでした。