QA@IT
«質問へ戻る

想定する処理を追記

9
本文
 
-複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいです。
+複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいと考えています。
 以下ディレクトリのイメージです。
 
 Test
 
 ``` 
 
-コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると考えている処理になりません。
-本来ならFolder1,Folder2内の各テキストファイルの検索文字を出力したいのですが、、
+想定する処理としては、Folder1,Folder2のtext1.txt,text2.txt内に記入されている「apple」をtmp.txtに出力したいと考えています。
+
+コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると想定している処理になりません。
 
 パス名の途中(フォルダ名)にワイルドカードを使用するfor文を教えていただきたいです。

Windowsのバッチでパス名の途中でのワイルドカードについて

複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいと考えています。
以下ディレクトリのイメージです。

Test
 ├Folder1
 │  ├text1.txt
 │  └text2.txt
 ├Folder2
 │  ├text1.txt
 │  └text2.txt
 │
 └tmp.txt (出力用テキストファイル)

set tmp=C:\Users\(username)\Desktop\Test\tmp.txt
cd Test

for /d %%i in (Folder*) do (
 for %%j in (text*) do (
    findstr "apple" %%i\%%j >> %tmp%
) 

想定する処理としては、Folder1,Folder2のtext1.txt,text2.txt内に記入されている「apple」をtmp.txtに出力したいと考えています。

コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると想定している処理になりません。

パス名の途中(フォルダ名)にワイルドカードを使用するfor文を教えていただきたいです。

複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいと考えています。
以下ディレクトリのイメージです。

Test
 ├Folder1
 │  ├text1.txt 
 │  └text2.txt
 ├Folder2
 │  ├text1.txt
 │  └text2.txt
 │
 └tmp.txt (出力用テキストファイル)


```batch
set tmp=C:\Users\(username)\Desktop\Test\tmp.txt
cd Test

for /d %%i in (Folder*) do (
 for %%j in (text*) do (
    findstr "apple" %%i\%%j >> %tmp%
) 

``` 

想定する処理としては、Folder1,Folder2のtext1.txt,text2.txt内に記入されている「apple」をtmp.txtに出力したいと考えています。

コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると想定している処理になりません。

パス名の途中(フォルダ名)にワイルドカードを使用するfor文を教えていただきたいです。

質問を投稿

Windowsのバッチでパス名の途中でのワイルドカードについて

複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいです。
以下ディレクトリのイメージです。

Test
 ├Folder1
 │  ├text1.txt
 │  └text2.txt
 ├Folder2
 │  ├text1.txt
 │  └text2.txt
 │
 └tmp.txt (出力用テキストファイル)

set tmp=C:\Users\(username)\Desktop\Test\tmp.txt
cd Test

for /d %%i in (Folder*) do (
 for %%j in (text*) do (
    findstr "apple" %%i\%%j >> %tmp%
) 

コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると考えている処理になりません。
本来ならFolder1,Folder2内の各テキストファイルの検索文字を出力したいのですが、、

パス名の途中(フォルダ名)にワイルドカードを使用するfor文を教えていただきたいです。

複数フォルダ内のテキストファイルから、検索文字列を別のテキストファイルに出力したいです。
以下ディレクトリのイメージです。

Test
 ├Folder1
 │  ├text1.txt 
 │  └text2.txt
 ├Folder2
 │  ├text1.txt
 │  └text2.txt
 │
 └tmp.txt (出力用テキストファイル)


```batch
set tmp=C:\Users\(username)\Desktop\Test\tmp.txt
cd Test

for /d %%i in (Folder*) do (
 for %%j in (text*) do (
    findstr "apple" %%i\%%j >> %tmp%
) 

``` 

コードの内側のループは成功するのですが、外側のループでフォルダ名にワイルドカードを指定すると考えている処理になりません。
本来ならFolder1,Folder2内の各テキストファイルの検索文字を出力したいのですが、、

パス名の途中(フォルダ名)にワイルドカードを使用するfor文を教えていただきたいです。