
No.7ベストアンサー
- 回答日時:
> moveで出来たのですが、コピーにしてほしいと言われたので一つのファイルづつコピーして正常にコピーが完了したらそのファイルを削除にしたいです。
ですから、そのコピーと削除を行うのがmoveと言うコマンドです。moveとコピーを別の物だと思っていませんか?この場合、コピー後に削除するかどうか以外は同じです。
「コピーが成功したら削除」の判断は自分でif文で書くより、コマンドに任せてしまった方が安全です。
> errorlevelで試したのですが、コピーファイルがなくても0を返してしまったりうまくいきませんでした。
単に書き方が悪いだけではないかと思います。
set ERRCNT=0
for %%A in (aaa bbb ccc ddd eee) do (
move %%A \\PC2\xxxx\yyyy
if errorlevel 1 set /a ERRCNT+=1
)
if not %ERRCNT% == 0 echo エラーが %ERRCNT% 回発生
for の中で、if not %ERRORLEVEL% == 0 とか書いたのでは?それは駄目です。
No.6
- 回答日時:
「移動元のディレクトリ構造を移動先にも作成する」という意味でしたら、以下のようになるかと思います。
――――――――――――――――――――――――
@echo off
rem ■ 設定
set "移動先=\\192.168.10.2\移動先フォルダ"
set "ログファイル=ログ.txt"
rem ■ 日時出力
echo.>> "%ログファイル%"
echo ■ %date% %time%>> "%ログファイル%"
rem ■ 移動処理
for %%a in (
"C:\移動元フォルダ1\001.txt"
"C:\移動元フォルダ1\002.txt"
"C:\移動元フォルダ2\001.txt"
) do (
echo move "%%~a" "%移動先%%%~pa">>"%ログファイル%"
md "%移動先%%%~pa"
move "%%~a" "%移動先%%%~pa">>"%ログファイル%" 2>&1
)
――――――――――――――――――――――――
ちなみに、パスに関する記述の意味は、以下の通りです。
「"%%~a"」(フルパス) = 「"C:\移動元フォルダ1\001.txt"」
「"%%~da"」(「ドライブ文字:」) = 「"C:"」
「"%%~pa"」(「\対象までのフォルダのみのパス\」) = 「"\移動元フォルダ1\"」
「"%%~na"」(対象の名前部分のみ) = 「"001"」
「"%%~xa"」(対象の「.拡張子」) = 「".txt"」
※「%%~a」の末尾の「a」は任意で、「for %%a」部分で指定します。
又、以下のような処理は、もう少し工夫が必要になります。
・移動元フォルダと同名のフォルダに移動する
・ドライブを表す「C」フォルダも作成する
・ファイルが入ったフォルダを丸ごと移動する
・ファイルによって移動先フォルダが異なる
No.5
- 回答日時:
移動先フォルダは1つなのか、移動元フォルダと同じ名前のフォルダにそれぞれ移動するのか、ログの書式はどのようなものにするか、ログは1回分だけにするか、追記していくか等、細かい仕様が分からないので、完璧なバッチファイルは書けないですが、ざっと一例を書くと以下の線内のような感じでしょうか。
「設定」の部分と、移動元のファイルリストの部分を環境に合わせて書き換えれば動作するかと思います。
テスト用のファイルを作成して試して、思い通りの動作になるように書き換えてみてください。
――――――――――――――――――――――――
@echo off
rem ■ 設定
set "移動先=\\192.168.10.2\移動先フォルダ"
set "ログファイル=ログ.txt"
rem ■ 日時出力
echo.>> "%ログファイル%"
echo ■ %date% %time%>> "%ログファイル%"
rem ■ 移動処理
for %%a in (
"C:\移動元フォルダ1\001.txt"
"C:\移動元フォルダ1\002.txt"
"C:\移動元フォルダ2\001.txt"
) do (
echo move "%%~a" "%移動先%\">>"%ログファイル%"
move "%%~a" "%移動先%\">>"%ログファイル%" 2>&1
)
――――――――――――――――――――――――
No.3
- 回答日時:
「複数のディレクトリ内の特定のファイル」という漠然とした話だと、コードを書くのは無理です。
> コピー後、元ファイルは削除したいです。コピーに失敗したら削除は実行したくないです。
moveコマンドを使うとそういう動きになりますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Outlook(アウトルック) Outlook起動の不具合解消方法? 1 2021/12/19 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- タブレット タブレットからパソコンへ画像移して、整理したいのですが、写真にありますこの場合は、削除してもいいんで 2 2021/12/11 17:33
- その他(Microsoft Office) EXCELのVBAでやりたいことがあります 5 2021/12/02 07:45
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- Windows 10 ショートカットの使い方について教えて下さい。 2 2022/06/21 15:27
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- その他(プログラミング・Web制作) VB6.0でファイルの一行だけ削除する方法を教えていただきたいです。 2 2021/12/03 11:03
このQ&Aを見た人はこんなQ&Aも見ています
-
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
-
4
複数フォルダをまとめて移動するバッチ
Windows Vista・XP
-
5
xcopyのエラー情報のはきだし方法
UNIX・Linux
-
6
bat処理の実行結果ログ出力方法について
Windows 10
-
7
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
8
XCOPYでネットワーク越しにコピーすると、「無効なドライブ指定です」と表示される
その他(プログラミング・Web制作)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
バッチファイルでサーバーのファイルをクライアントへコピーしたい
その他(コンピューター・テクノロジー)
-
11
moveコマンドで別のドライブにフォルダを移動
その他(OS)
-
12
xcopyコマンドの進行状況を表示させたい。
その他(プログラミング・Web制作)
-
13
バッチを用いたフォルダの自動移動
Visual Basic(VBA)
-
14
「ネットワークパスが見つかりません」メッセージ
その他(インターネット接続・インフラ)
-
15
[DOS] コピー先に同じファイル名がある場合、名前を変えて...
その他(プログラミング・Web制作)
-
16
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
17
バッチファイルでXCOPYコマンドが使えない
その他(プログラミング・Web制作)
-
18
DOSコマンドのコピー完了判定
その他(プログラミング・Web制作)
-
19
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
20
バッチで118項目のCSVを処理したいですが。。。
その他(開発・運用・管理)
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WindowsからSSHでサーバーにあ...
-
vlan internal allocation poli...
-
CPコマンドでファイルがコピー...
-
バッチファイルでファイル移動...
-
teratarmでコマンド入力すると...
-
YAHAMA RTXシリーズのコマンド...
-
ファイルを閉じるコマンドを教...
-
IBMメインフレームのFTP 文字コ...
-
NETBIOSドメイン名の変更について
-
nslookupを5分おきに実行するバ...
-
Solarisでのgrepについて
-
NASからNASへの自動バックアッ...
-
vimでその場でカーソル位置に改...
-
バッチファイルの変数引継ぎに...
-
コマンドのインストールについて
-
エクセルでファイルの最終更新...
-
共有しているファイルを削除し...
-
Excel VBAでほかのアプリケーシ...
-
USBデータの消失
-
TXTファイルを上書き保存する前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vlan internal allocation poli...
-
teratarmでコマンド入力すると...
-
YAHAMA RTXシリーズのコマンド...
-
WindowsからSSHでサーバーにあ...
-
CPコマンドでファイルがコピー...
-
expectでコマンド実行結果を変...
-
Ciscoルーター 対向機器のIPア...
-
NETBIOSドメイン名の変更について
-
バッチファイルでファイル移動...
-
IBMメインフレームのFTP 文字コ...
-
nslookupを5分おきに実行するバ...
-
linuxのmailコマンドの文字化け...
-
ファイルを閉じるコマンドを教...
-
windows7でbootsectが使えない
-
FTPサイト上で圧縮ファイルを解...
-
Solarisでのgrepについて
-
一定時間経過させるコマンドは?
-
crontabの書き方で1時間毎、2時...
-
パソコン内部checkコマンド
-
CiscoのConfigなどについて
おすすめ情報
早速回答ありがとうございます。
こちらバッチファイルで作成するよう指示されているため、バッチファイルの書き方のヒント教えていただけると助かります。
よろしくお願いいたします。
おかげさまでどうにか作成できそうです。ありがとうございました。
追加で質問お願いします。
kon77さんに記載していただいた例で移動先フォルダもフォルダ1フォルダ2とコピー元と同じ構成でコピーする場合はどういった記載なるか教えていただけますでしょうか。
moveで出来たのですが、コピーにしてほしいと言われたので一つのファイルづつコピーして正常にコピーが完了したらそのファイルを削除にしたいです。
失敗したら、次のファイルのコピーにすすんで、最後にすべてのコピーが終わったら異常があったことを記載して終わりたいです。
errorlevelで試したのですが、コピーファイルがなくても0を返してしまったりうまくいきませんでした。