質問編集履歴
3
追記追加、使用コードの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -90,6 +90,12 @@
|
|
90
90
|
(copy コピー元 コピー先 名前 とするとみたがパスでの指定がわからない)
|
91
91
|
・ファイル名の変更がうまくいかない、わからない
|
92
92
|
|
93
|
+
=========以下8/14追記===========================
|
94
|
+
|
95
|
+
簡易的に作成したフォルダ構成にてバッチファイルを実行するフォルダを指定して処理を行った結果(追記上部コード)正常に動作したが
|
96
|
+
バッチファイルに対して様々なファイルをドラッグ&ドロップで処理を実行したいため、追記下部コードにてset "TargetFolder=%~dp1"でバッチファイルを実行したフォルダのパスを指定してみたが、12行目までしか正常に動作しませんでした。
|
97
|
+
19行目、24行目のfor /d %%j in ("%TargetFolder%\%%i*")が間違っているのだと思いますが、解決策がわからずじまいになっています。
|
98
|
+
大変申し訳ないのですが現状の限界を感じております。助力のほどいただけたら幸いです。
|
93
99
|
|
94
100
|
### 該当のソースコード
|
95
101
|
|
@@ -132,6 +138,136 @@
|
|
132
138
|
Exit
|
133
139
|
```
|
134
140
|
|
141
|
+
=========以下8/14追記===========================
|
142
|
+
|
143
|
+
```bat
|
144
|
+
@echo off
|
145
|
+
|
146
|
+
rem Cell_log_allフォルダを生成
|
147
|
+
mkdir .\Cell_log_all
|
148
|
+
|
149
|
+
rem 各Cell_log(CL-)サブフォルダを生成
|
150
|
+
for %%i in (Mt-Log Df-Log Lf-Log Dd-Log) do (
|
151
|
+
mkdir ".\Cell_log_all\CL-%%i"
|
152
|
+
)
|
153
|
+
|
154
|
+
setlocal enabledelayedexpansion
|
155
|
+
|
156
|
+
rem フォルダ上から下へ
|
157
|
+
for %%i in (Mt-Log Df-Log Lf-Log Dd-Log) do (
|
158
|
+
rem サブフォルダカウント
|
159
|
+
set count=0
|
160
|
+
for /d %%j in ("%Cell_datalist%\%%i*") do (
|
161
|
+
set /a count+=1
|
162
|
+
)
|
163
|
+
|
164
|
+
rem サブフォルダ処理
|
165
|
+
for /d %%j in ("%Cell_datalist%\%%i*") do (
|
166
|
+
set "sourceFolder=%%j"
|
167
|
+
set "destinationFolder=.\Cell_log_all\CL-%%i\%%~nxj"
|
168
|
+
|
169
|
+
rem サブフォルダコピー
|
170
|
+
xcopy /Y /I /E "!sourceFolder!" "!destinationFolder!"
|
171
|
+
)
|
172
|
+
)
|
173
|
+
|
174
|
+
rem カレントフォルダCell_log_allフォルダ対象
|
175
|
+
set "targetFolder=.\Cell_log_all"
|
176
|
+
|
177
|
+
rem CSVファイル処理
|
178
|
+
for /r "%targetFolder%" %%i in (*.csv) do (
|
179
|
+
rem CSVファイルのパスを取得
|
180
|
+
set "csvPath=%%~fi"
|
181
|
+
|
182
|
+
rem フォルダ名変更
|
183
|
+
set "folderName=%%~dpi"
|
184
|
+
set "folderName=!folderName:~0,-1!"
|
185
|
+
|
186
|
+
rem ファイル名連結 CSVファイル移動
|
187
|
+
move /Y "!csvPath!" "!folderName!.csv" >nul 2>&1
|
188
|
+
)
|
189
|
+
|
190
|
+
rem 各サブフォルダ処理
|
191
|
+
for %%i in (CL-Mt-Log CL-Df-Log CL-Lf-Log CL-Dd-Log) do (
|
192
|
+
rem サブフォルダのパスを設定
|
193
|
+
set "subfolder=.\Cell_log_all\%%i"
|
194
|
+
|
195
|
+
rem 空フォルダ削除
|
196
|
+
for /d %%j in ("!subfolder!\*") do (
|
197
|
+
rd "%%j" 2>nul
|
198
|
+
)
|
199
|
+
)
|
200
|
+
|
201
|
+
endlocal
|
202
|
+
|
203
|
+
exit
|
204
|
+
```
|
205
|
+
|
206
|
+
```bat
|
207
|
+
@echo off
|
208
|
+
|
209
|
+
set "TargetFolder=%~dp1"
|
210
|
+
|
211
|
+
rem Cell_log_allフォルダを生成
|
212
|
+
mkdir .\Cell_log_all
|
213
|
+
|
214
|
+
rem 各Cell_log(CL-)サブフォルダ生成
|
215
|
+
for %%i in (Mt-Log Df-Log Lf-Log Dd-Log) do (
|
216
|
+
mkdir ".\Cell_log_all\CL-%%i"
|
217
|
+
)
|
218
|
+
|
219
|
+
setlocal enabledelayedexpansion
|
220
|
+
|
221
|
+
rem フォルダ上から下へ
|
222
|
+
for %%i in (Mt-Log Df-Log Lf-Log Dd-Log) do (
|
223
|
+
rem サブフォルダカウント
|
224
|
+
set count=0
|
225
|
+
for /d %%j in ("%TargetFolder%\%%i*") do (
|
226
|
+
set /a count+=1
|
227
|
+
)
|
228
|
+
|
229
|
+
rem サブフォルダ処理
|
230
|
+
for /d %%j in ("%TargetFolder%\%%i*") do (
|
231
|
+
set "sourceFolder=%%j"
|
232
|
+
set "destinationFolder=.\Cell_log_all\CL-%%i\%%~nxj"
|
233
|
+
|
234
|
+
rem サブフォルダコピー
|
235
|
+
xcopy /Y /I /E "!sourceFolder!" "!destinationFolder!"
|
236
|
+
)
|
237
|
+
)
|
238
|
+
|
239
|
+
rem カレントフォルダCell_log_allフォルダ対象
|
240
|
+
set "targetFolder=.\Cell_log_all"
|
241
|
+
|
242
|
+
rem CSVファイル処理
|
243
|
+
for /r "%targetFolder%" %%i in (*.csv) do (
|
244
|
+
rem CSVファイルのパスを取得
|
245
|
+
set "csvPath=%%~fi"
|
246
|
+
|
247
|
+
rem フォルダ名変更
|
248
|
+
set "folderName=%%~dpi"
|
249
|
+
set "folderName=!folderName:~0,-1!"
|
250
|
+
|
251
|
+
rem ファイル名連結 CSVファイル移動
|
252
|
+
move /Y "!csvPath!" "!folderName!.csv" >nul 2>&1
|
253
|
+
)
|
254
|
+
|
255
|
+
rem 各サブフォルダ処理
|
256
|
+
for %%i in (CL-Mt-Log CL-Df-Log CL-Lf-Log CL-Dd-Log) do (
|
257
|
+
rem サブフォルダのパスを設定
|
258
|
+
set "subfolder=.\Cell_log_all\%%i"
|
259
|
+
|
260
|
+
rem 空フォルダ削除
|
261
|
+
for /d %%j in ("!subfolder!\*") do (
|
262
|
+
rd "%%j" 2>nul
|
263
|
+
)
|
264
|
+
)
|
265
|
+
|
266
|
+
endlocal
|
267
|
+
|
268
|
+
exit
|
269
|
+
```
|
270
|
+
|
135
271
|
### 試したこと
|
136
272
|
|
137
273
|
ファイル名を変更する等の単語で調べソースコードをお借りしてきたのち、ren→copy等のいくつかに変更を加えていきました。
|
2
タグの追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
書式の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -81,7 +81,6 @@
|
|
81
81
|
|
82
82
|
### 発生している問題・エラーメッセージ
|
83
83
|
|
84
|
-
```
|
85
84
|
(※バッチファイルのエラーメッセージをどう出力すればいいのかわかりませんでした...)
|
86
85
|
|
87
86
|
・test_allフォルダは生成されるがそれ以降の処理が正常に動作していない、しかし原因がわからない。
|
@@ -91,7 +90,6 @@
|
|
91
90
|
(copy コピー元 コピー先 名前 とするとみたがパスでの指定がわからない)
|
92
91
|
・ファイル名の変更がうまくいかない、わからない
|
93
92
|
|
94
|
-
```
|
95
93
|
|
96
94
|
### 該当のソースコード
|
97
95
|
|