いつもお世話になっております。
以下の内容のバッチコマンドを作成したいのですが、
どのように作成すれば分かりません。

大変申し訳ございませんが、
教えて頂けますでしょうか。

【内容】
1.特定のディレクトにあるCSVファイルの一覧を取得して、
 そのCSVファイルの内容を1行ずつ表示したい。

以上です。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

CSVファイルのある特定のディレクトリに


以下の内容でバッチファイルを作成して実行。

@echo off
setlocal enabledelayedexpansion
dir /B *.csv >list.txt
for /F "delims=" %%i in (list.txt) do (
set /P DATA=<%%i
echo !DATA!
)

こういうことかな?
    • good
    • 0
この回答へのお礼

ありがとうございました。助かりました。

お礼日時:2017/04/21 10:04

for

    • good
    • 0

単に、copyコマンドで良いと思います。


copy DIR1\*.csv DIR2
DIR1;コピー元のディレクトリ、DIR2;コピー先のディレクトリ
但し、これは一覧の取得ではなく、ファイルのコピーになります。

「一覧を取得して、…内容を1行ずつ表示」の意味は不明です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qawkでcsvファイルからcsvファイルへ任意の列だ置換する事はできますか?

awkでcsvファイルからcsvファイルへ任意の列だ置換する事はできますか?

a.csvから2列目を読み取ってb.csvの3列目に上書き保存
a.csv内容 b.csv内容 結果
1,2,3,4,5  →  a,b,c,d,e → a,b,2,d,e
6,7,8,9,10    f,g,h,i,j    f,g,7,i,j

色々のサイトを見ながらやってますがうまくいきません。
よろしくお願いします。

Aベストアンサー

paste -d, a.csv b.csv | awk 'BEGIN{FS=",";OFS=","}{print $6,$7,$2,$9,$10}'

awk だけだと少々面倒なので手抜きしました

Qバッチでcsvファイルの指定のカラムを編集したい

バッチでファイルの編集をしたい

バッチファイルを使用して、csvファイルの読み込み~編集を行いたいと思っております

元ファイル:TEST_DATA.csv
内容:
111,222,333,444,555
123,456,789,321,987


上記のcsvファイルを読み込み、
・5カラム目が987ならば3カラム目を654に変更する
という処理を実行させたいのですが、
どのように行えばよいのでしょうか?

現在考えていることは、
1.for文を使用して指定のカラムを抜く(3カラム目と5カラム目を抜く))
2.5カラム目の値をif条件に指定し、合致した場合、抜いた3カラム目の変数に654を入れる
3.654に変更した変数を3カラム目の値として入れる

という順番で行えばいいと思っているのですが、
下記まで行ったところで行き詰ってしまいました

for /F "tokens=3,5 delims=," %%i IN (TEST_DATA.csv) DO @(if %%j==987 set %%i=654 echo %i %j )



お分かりになられる方、ご教授願えませんでしょうか

バッチでファイルの編集をしたい

バッチファイルを使用して、csvファイルの読み込み~編集を行いたいと思っております

元ファイル:TEST_DATA.csv
内容:
111,222,333,444,555
123,456,789,321,987


上記のcsvファイルを読み込み、
・5カラム目が987ならば3カラム目を654に変更する
という処理を実行させたいのですが、
どのように行えばよいのでしょうか?

現在考えていることは、
1.for文を使用して指定のカラムを抜く(3カラム目と5カラム目を抜く))
2.5カラム目の値をif条件に指定し、合致した場合、抜...続きを読む

Aベストアンサー

5カラムまであるとして、

for /f "tokens=1-5 delims=," %%A in (TEST_DATA.csv) do (
if %%E == 987 (echo %%A,%%B,654,%%D,%%E) else (echo %%A,%%B,%%C,%%D,%%E)
)

もっと他の条件があれば、さらに複雑な処理になります。

Qコマンドプロンプトのバッチファイル

バッチファイル内でInternetExplorer(以下IE)を
3つ起動させようとしています。

ただ単に

"[IEのパス]\iexplorer.exe"

と3行書いただけだと、ますIEがひとつ開いて、とまってしまい
開いたIEを閉じるとまたIEが開き、それを閉じたらまたIEが開く。

と言うように、閉じないとバッチファイルが先に進んでくれません。

ウィンドウを閉じなくても先に進んでくれる方法は
ありますでしょうか?

おわかかりになる方、ご助言願います。

Aベストアンサー

startコマンドを使うと実現できます。
この場合、IEXPLORE.EXE にフルパスは不要です。

start IEXPLORE.EXE
start IEXPLORE.EXE
start IEXPLORE.EXE

Q一つのファイルのシートに一覧化 バッチ作業?

フォルダ内に約800ぐらいのエクセルファイルがあり、複数のシートがあります。
※一つしかシートがない場合も、20以上ある場合もあります。

どのシートのG7セルには文字が入っています。

これを一つのファイルのシートに一覧化したいのですが、簡単に出来る方法はありませんでしょうか?

Aベストアンサー

スクリプトファイルで一発です

--- readAllG7_fromExcel.wsf
<?XML version="1.0" standalone="yes" ?>
<package><job>
<object id="fso" progid="Scripting.FileSystemObject" />
<object id="excel" progid="Excel.Application"/>
<script language="JavaScript"><![CDATA[

function forEach(obj, proc) { for (var c = new Enumerator(obj); !c.atEnd(); c.moveNext()) proc(c.item()); }
var targetFolder = fso.getFolder('C:/どっか/800ぐらいのエクセルが入ったフォルダ');
var result = [];
forEach(targetFolder.files, function (file) {
if (!(/\.xlsx?$/.test(file.name))) return;
var book = excel.workbooks.open(file.path);
forEach(book.worksheets, function(sheet){
var s = sheet.range('G7').value;
result.push(s);
});
book.close();
});
excel.application.visible = true;
var reportBook = excel.workbooks.add();
var sheet = reportBook.activesheet;
for (var i=0; i<result.length; i++) sheet.cells(i+1,1).value = result[i];
// reportBook.saveAs('適当な名前');
// excel.application.quit();

]]></script></job></package>

スクリプトファイルで一発です

--- readAllG7_fromExcel.wsf
<?XML version="1.0" standalone="yes" ?>
<package><job>
<object id="fso" progid="Scripting.FileSystemObject" />
<object id="excel" progid="Excel.Application"/>
<script language="JavaScript"><![CDATA[

function forEach(obj, proc) { for (var c = new Enumerator(obj); !c.atEnd(); c.moveNext()) proc(c.item()); }
var targetFolder = fso.getFolder('C:/どっか/800ぐらいのエクセルが入ったフォルダ');
var result = [];
forEach(tar...続きを読む

Qコマンドプロンプトでファイル一覧を作りたい

フォルダの中にあるファイル名と更新日時の一覧を
バッチファイルで作りたいと考えています。
どうやったらできるでしょうか?
1回で作成できない場合は、
まずファイル名一覧、次に更新日時ファイルの作成でも
構いません。
ファイルめい一覧はある相対パスだとうれしいです。

Aベストアンサー

Windows環境なら、WSH(VBS)のプログラムを作って、
Cscript.exe を使いコマンドラインでバッチモードで動かす。

Cscript.exe //B hoge.vbs フォルダー名

(hoge.vbs)の内容=========================================
 target_folder = WScript.Arguments(0)
set fs = CreatObject("Scripting.FileSystem.Object")
set contets = fs.GetFolder(target_folder)
 for each x in contets.Files
WScript.echo x.Name
WScript.echo x.Size
WScript.echo x.DateCreated
WScript.echo x.DateLastAccessed
WScript.echo x.DateLastModified
next
=======================================================
としてフォルダーオブジェクトの様々ななコレクション
のプロパティが取り出せます。

Windows環境なら、WSH(VBS)のプログラムを作って、
Cscript.exe を使いコマンドラインでバッチモードで動かす。

Cscript.exe //B hoge.vbs フォルダー名

(hoge.vbs)の内容=========================================
 target_folder = WScript.Arguments(0)
set fs = CreatObject("Scripting.FileSystem.Object")
set contets = fs.GetFolder(target_folder)
 for each x in contets.Files
WScript.echo x.Name
WScript.echo x.Size
WScript.echo x.DateCreated
WScript.echo ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報