質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

3回答

1258閲覧

バッチファイル フォルダ作成

wolf0325

総合スコア8

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2020/01/13 11:29

前提・実現したいこと

バッチファイルで
・新規のフォルダを、フォルダ名は2つの引数を使って作成する
・そのフォルダに任意のファイルを移動させる。
を行いたいですが
上手く動きません。

作成したフォルダ名は、AAA-BBBになります。

発生している問題・エラーメッセージ

実行すると
・AAA
・BBB
の別々のフォルダが作成されます。

該当のソースコード

以下のコードになります。

bat

1md %AAA%-%BBB% 2move *.jpg C:\XXX\%AAA%-%BBB%

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/01/13 12:09

書いてある2行におかしいところは無いので、書いてない範囲に間違いがあると思われます。
wolf0325

2020/01/14 10:33

そうですか。 元の内容は以下の通りです。 不具合は for部分のように思いますがいかがでしょうか。 よろしくお願いします。 @echo off copy Y:\data\*.jpg C:\画像保存\*.jpg set yyyy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% set time2=%time: =0% set hh=%time2:~0,2% set mn=%time2:~3,2% set ss=%time2:~6,2% set BBB=%yyyy%-%mm%%dd%-%hh%%mn%%ss% for /f "tokens=7 delims=," %%a in (Y:\History.csv) do ( set AAA=%%a ) md %AAA%-%BBB% move *.jpg C:\画像保存\%AAA%-%BBB%
guest

回答3

0

元の内容は以下の通りです。

これで、「ファイル7カラム目の最終」の後ろに「日時の数字」の並んだディレクトリじゃなくて、
AAAというディレクトリとBBBというディレクトリが出来るというのはちょっと考えられないので、違うファイルを実行しているとしか思えません。

もしかして、質問の記述が間違っていて、
「ファイル7カラム目の文字列うち、空白の前の文字列」のディレクトリと、
「ファイル7カラム目の文字列うち、空白の後の文字列」の後ろに「日時の数字」の並んだのディレクトリ
が出来るというのが正しいのでは?

であれば、Y.H.さんの回答の通り、

CMD

1md "%AAA%-%BBB%" 2move *.jpg "C:\画像保存\%AAA%-%BBB%"

とします。

投稿2020/01/14 11:18

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wolf0325

2020/01/14 11:33

ご指摘の通り 2つのフォルダが出来上がっていました。 ” ”に変更することで、解決しました。 ありがとうございました。
otn

2020/01/14 12:05

次回以降、質問は正確に書きましょう。 掲載したコードを実行したら、掲載したエラーメッセージ(or掲載した意図しない結果)が出るように、 コードとエラーメッセージ(or意図しない結果)を掲載します。
otn

2020/01/14 12:26

あ、わかった。 おそらく、第7カラムが最終カラムで、行末に意図しない空白があったということですね。
wolf0325

2020/01/14 13:34

otn さん。 ありがとうございます。  次回から気を付けます。
guest

0

ベストアンサー

実行すると

・AAA
・BBB
の別々のフォルダが作成されます。

多分ですが、空白(スペース)が入ってるのでは?
環境変数や引数をもとにパスを作成するバッチファイルではパス指定に"を使用しましょう

bat

1md "%AAA%-%BBB%"

投稿2020/01/14 00:25

Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wolf0325

2020/01/14 11:32

ありがとうございます。 問題解決しました。
guest

0

BAT

1set AAA=AAA 2set BBB=BBB 3md %AAA%-%BBB%

で、ふつーにAAA-BBBのフォルダが出来ましたね

投稿2020/01/13 11:38

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問