
お世話になっております。
WindowsXP環境にて下記のバッチファイルがあります。
コード---
COPY D:\in\L*.txt E:\out\L*.txt
コード---
単純なコピー処理ですが、この後に下記の処理を追加したいのです。
(1)コピー元からコピー先へちゃんとコピーされたかを判定。
(2)コピー元とコピー先のテキストファイルが同一ファイルかを判定。
(3)(1)・(2)で問題なかった場合により、正常と他のテキストファイルに書き込む。
1ファイルでもNGだったら異常と書き込む。
おそらく(1)はIF EXIST~、(2)はFC~ で問題なさそうですが
1ファイルずつ(1)・(2)をコードで書くと、膨大になってしまいます。
(3)はIFで可能かもしれません。
そもそも先頭にLがついたファイルは、以下の条件があります。
・日によってファイル数が違う。500ファイルもある場合あり。
・先頭にLがついているテキストファイル以外の共通部分がない。
L0fje.txtとかL8hfy.txtとか・・・。固定ファイル名がない。
例えば、500ファイルもあると(1)・(2)のコードをひたすらコード入力するのは
非常に効率が悪いです。
良い方法があるでしょうか?
ご存知の方がいれば、ご教授願いますでしょうか?
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
for /f %%i in (D:\in\L*.txt) do (
if exist %%i echo %%~nxi
}
上記の1行目の書式で、"D:\in\L*.txt"に該当するファイル名のフルパス名が一つずつ変数"%%i"に入ります。"do"の後ろの"("から3行目の")"の間に実際の処理コマンドを記述します。複数行可。
フルパス名からファイル名+拡張子だけを取り出したい時には、"%%~nxi"で取り出せます。
過去に私が回答した"for"コマンド関連のQ&Aです。
(2つ目と3つ目は、in ( )の部分が若干異なります。)
『OKWave:Windowsバッチでの作成について困っております。』
http://okwave.jp/qa/q5357631.html
『OKWave:Windowsバッチでできるのかな・・・』
http://okwave.jp/qa/q5431927.html
『OKWave:バッチファイルについて』
http://okwave.jp/qa/q5387178.html
No.3
- 回答日時:
書かれている条件だと、単に copy /v で良さそうですけど。
copy /v 実行後に、
if errorlevel 1 (echo NG>FILE.txt) else (echo OK>FILE.txt)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
-
4
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
5
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
6
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
7
バッチファイルでサーバーのファイルをクライアントへコピーしたい
その他(コンピューター・テクノロジー)
-
8
コマンドプロンプトでファイル削除時の戻り値を取得したい
その他(プログラミング・Web制作)
-
9
バッチファイルで複数フォルダ毎のファイル数を取得したい。
Oracle
-
10
フォルダの中身を全部消したい。
Windows Me・NT・2000
-
11
コマンドプロンプトで変数が数字であることを判定する方法
その他(プログラミング・Web制作)
-
12
バッチファイルでフォルダ内のファイル数をカウントしたい
UNIX・Linux
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
SQLPLUSで結果を画面に表示しない
Oracle
-
15
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
16
SQL*Loader Append
Oracle
-
17
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
-
18
xcopyで特定のファイルのみをコピーする方法
Windows 10
-
19
PrintScreenを押して直接印刷したいのですが
フリーソフト
-
20
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
ファイル名の一部をbatで変更し...
-
ファイルの最後に文字列挿入
-
拡張子を元に戻す
-
エクセルの各セルの内容をそれ...
-
Windowsのバッチファイルを利用...
-
COPYコマンドで結合すると余計...
-
forfilesで検索したファイルを...
-
renameコマンドについて
-
多数のサブディレクトリ内のフ...
-
【Excel】 VBAを使って毎回名前...
-
バッチファイルで文字列削除に...
-
ファイル内容の修正、行削除に...
-
テキストファイルのタブをカン...
-
バッチファイルからVBAに引数を...
-
バッチファイル 複数ファイル...
-
C言語、ファイルの存在チェック...
-
FTPコマンドでgetしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
テキストファイルで提出とは?
-
多数のサブディレクトリ内のフ...
-
ファイル名の一部をbatで変更し...
-
ファイル内容の修正、行削除に...
-
拡張子を元に戻す
-
エクセルの各セルの内容をそれ...
-
psqlでエラーログをとりたい
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windows マシンでFTPバッチが動...
-
バッチファイルで文字列削除に...
-
バッチファイル 複数ファイル...
-
UWSCでテキストファイルを開い...
-
ExcelVBA テキストファイルUNIC...
-
VBSでフォルダ内のテキストファ...
-
外部exeに対しての引数受け渡し
-
accessでSQL文を使ってcsvファ...
おすすめ情報