質問編集履歴

1

Fix grammer

2023/02/03 08:07

投稿

ypp
ypp

スコア66

test CHANGED
@@ -1 +1 @@
1
- バッチファイルで現在の進を百分率で表示するにはどうすればよいのか。
1
+ バッチファイルで現在の進を百分率で表示するにはどうすればよいのか。
test CHANGED
@@ -1,5 +1,5 @@
1
1
  バッチファイルを今日学び始めた者です。
2
- `C:/Users/user/Downloads/`直下のすべてのファイルを取得し、一つづつ表示する際に、進を付け加えたいと思っているのですが、うまくいきません。
2
+ `C:/Users/user/Downloads/`直下のすべてのファイルを取得し、一つづつ表示する際に、進を付け加えたいと思っているのですが、うまくいきません。
3
3
  以下が試したことです。
4
4
  ```batch
5
5
  @echo off
@@ -33,8 +33,8 @@
33
33
  7行目: ``dir /a:-d /b *.*>files.txt`` - Downloadsディレクトリ直下のすべてのファイルの名前を一時的にfiles.txtに保存する。/a:-dはファイルのみ取得、/bはファイル名のみ取得。
34
34
  8-11行目: ``for /f %%a in (!default!files.txt) do ()`` - files.txtの行数をカウント。これでファイル数がわかる。files.txtを一行ずつ読み込み、それに伴いfilecountを1づつ増やす。/fはおそらくファイル読み込み。
35
35
  15行目: ``for /f "delims=" %%a in (!default!files.txt) do ()`` - files.txtを一行ずつ読み込む。"delims="は区切り文字をなくすためのもの。
36
- 16行目: ``set /a percent=!count! / !filecount! * 100`` - 現在のインデックスからファイル数を割り、100を掛けた進。**原因はおそらくここ**。
36
+ 16行目: ``set /a percent=!count! / !filecount! * 100`` - 現在のインデックスからファイル数を割り、100を掛けた進。**原因はおそらくここ**。
37
- 17行目: ``echo "!count!/!filecount! (!percent!%%): %%a"`` - "インデックス/ファイル数 (進%): ファイル名"を表示する。
37
+ 17行目: ``echo "!count!/!filecount! (!percent!%%): %%a"`` - "インデックス/ファイル数 (進%): ファイル名"を表示する。
38
38
  20行目: ``del !default!files.txt`` - files.txtを削除。
39
39
 
40
40
  ---
@@ -53,7 +53,7 @@
53
53
  "9/10 (0%): test9.txt"
54
54
  "10/10 (100%): test10.txt"
55
55
  ```
56
- このように、進をうまく表示できません。考えられることとしては、計算式が間違っているか、setコマンドで割り算をすると少数が切り捨てられるのでうまく計算できないのどちらかです。
56
+ このように、進をうまく表示できません。考えられることとしては、計算式が間違っているか、setコマンドで割り算をすると少数が切り捨てられるのでうまく計算できないのどちらかです。
57
57
  こちらを以下のようにするにはコードをどのように変えればよろしいのでしょうか?
58
58
  ```text
59
59
  "10個のファイルが見つかりました。"