先の記事ではPyothon勉強中とかきましたが。
自分には難しい&実務にすぐ関係させられない。。。
というわけで、コマンドプロンプトを勉強中。
やりたいこと
「素材」フォルダのなかには複数フォルダ&なかに画像ファイル。
フォルダだけ「素材」フォルダと同階層の「書き出し」フォルダに複製したい。
cd batファイルを置いている場所
xcopy /t /e "素材" "書き出し"
このあと
書き出し は受け側のファイル名ですか、
またはディレクトリ名ですか
(F= ファイル、D= ディレクトリ)?
とでてくるので
d
とだけ打てば複製される。助かる。
これをバッチ処理にしたい。
フォルダもカレントディクトリ(であってるのかな。毎回フォルダは変わる)にできるとなお良い。
無理だったら固定にする。
まず上記のコマンドプロンプトをテキストファイルで作り、
test.bat
として保存。
ダブルクリックで実行。
うごかなーーーい。うんともすんとも言わない。
そのそもどこで動かないのかもわからない。
どうしよう?といろいろ検索して
batファイルはコマンドプロンプトでも実行できると知る。
コマンドプロンプトで
cd batファイルのある場所
batファイル名
で実行したところ、
パスに日本語が含まれているので文字化けしてました、、、
そこで検索。
はじめ、パスを何かしらで囲むのかと思ったんですが違いました。
batファイルを
Shift JIS
形式で保存しあいいけないんですね。
Shift JIS
で保存したら動いたー!
次にトライするのは、カレントフォルダ。
できなかったら固定のフォルダでやります、、、、
- わかったこと
- batファイルを作る時はコマンドプロンプトで実行して様子を見る
- パスに日本語が含まれる場合は、Shift JIS で保存する
発見があったので記録します。