「Dart Advent Calendar 2022」に参加させて頂きます!21日目です。
対象者
- Flutterをやっているが、コマンドラインを作ったことのない人
はじめに
さて、Flutterをやってますか?Flutterをやっているということは、Dartも分かっているはずです。せっかくですので、日々の雑務を行うバッチファイルもDartで作っちゃいましょう。
私はFlutterで使用するデータをDartのバッチで作成してます。
実施するソース
コマンドラインで実施するバッチファイルです。引数1つ目にファイル名を指定して、行数とファイルの内容を表示するだけのプログラムです。
mainに引数をとる以外Flutterとほぼ同じです。Flutterを勉強していれば、アプリ開発だけでなくて、バッチも作成できます。
import 'dart:io';
void main(List<String> arg) async {
final File file = File(arg[0]);
final List<String> lines = await file.readAsLines();
for (int i = 0; i < lines.length; i++) {
print('$i: ${lines[i]}');
}
}
バッチを実行する
dart .\batch.dart .\pubspec.yaml
ファイルはFlutterのプロジェクトのルートに置いていると仮定し、pubspec.yamlの内容を出力します。
実行結果:
0: name: flutter_salon
1: description: A new Flutter project.
2:
3: # The following line prevents the package from being accidentally published to
4: # pub.dev using `flutter pub publish`. This is preferred for private packages.
5: publish_to: 'none' # Remove this line if you wish to publish to pub.dev
(以下、省略)
またAndroidStudioであれば、「Edit Configuration」で引数を設定して、デバッグもできました。
バッチの実行ファイルを作成する
Windowだと簡単に実行ファイルが作成できました。
dart compile exe batch.dart
まとめ
Dartを使うと簡単にバッチファイルが作れることを見てきました。
制限事項
FlutterのWidget関連のライブラリとかパッケージとかは使えません。