Windowsでファイルやフォルダそれぞれに対してコマンドをそれぞれ実行したい時のバッチファイルの書き方。 forを使います。 for /f "usebackq delims==" %%i IN (`dir 【対象ファイルorフォルダ名】 /b`) DO 【コマンド】 %%i ポイント1: 【対象ファイルorフォルダ名】で、指定したいフォルダへのパスを指定しましょう。 (動作は dir コマンドに準じます) 例1) Windowsフォルダ内の 拡張子 .log ファイル C:\Windows\*.log 例2) D:\Profiles フォルダ内の全サブフォルダ D:\Profiles\ 例3) 例2でフォルダ内にファイルも含まれてしまうのを防ぐ D:\Profiles\ /ad (/ad はdirコマンドに対するオプションで、ディレクトリのみを対象とするものです) ポイント2: %%i
ホーム > ファイル数をカウントする コマンドプロンプトでファイル数をカウントするには dir, find を使います。以下の説明にある | find /c /v "" を指定しない場合は,対象となるファイル一覧が表示されます。 今いるフォルダにあるファイル数をカウントします C:\TIPS>dir /A-D /B | find /c /v "" 今いるフォルダにある拡張子が txt のファイル数をカウントします C:\TIPS>dir /A-D /B *.txt | find /c /v "" 今いるフォルダにあるフォルダ数をカウントします C:\TIPS>dir /AD /B | find /c /v "" 今いるフォルダにあるファイル数+フォルダ数をカウントします C:\TIPS>dir /B | find /c /v "" 今いるフォルダにあるファイル数をカウントします(サブフォル
文字列を検索できます。 構文 FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:ファイル] [/C:文字列] [/G:ファイル] [/D:ディレクトリ一覧] [/A:色属性] [/OFF[LINE]] 文字列 [[ドライブ:][パス]ファイル名[ ...]] findstr /? オプション 機能
バッチファイルで長いプログラムを書く際に自分が多用しているコマンドラインを片っ端から載せています。 もしかしたらお目当てのコマンドが見つかるかも? ※ネット上で見つけた便利そうなやつを自分流に書き換えて掲載していることがあります。 ※自分は基本コピペして使い変更を加えることは無いので、可読性は皆無です。 用途に合わせて書き換える必要がある際は、頑張って解読するかコメントで言ってください。 ※基本的に、ラベルをcallして使うようになっています。引数なども多用しているので、可読性は(略 追加 15/9/5 ①選択フォルダ内に存在する全ての空フォルダを削除 15/12/01 ①コマンドの出力を非表示にする方法 ②()内で変数を2重に展開する方法 15/12/16 ①横に伸びる棒グラフ(ゲージ?)を作る ②現在時刻をミリ秒で取得を更新 15/12/28 ①現在時刻をミリ秒で取得を更新 16/1/
対象:Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022 ファイルの整理あるいは納品書のような文書作成などのために、ファイル名やフォルダ名(ディレクトリ名)の一覧を取得して、その結果をテキストファイルにしたり、アプリに貼り付けたりしたいことがあるだろう。 しかし、[スタート]メニュー/タスクバーからアクセスできる検索機能や、エクスプローラーの右上にある検索ツールでは、検索はできるものの、その結果の一覧をテキストデータにしたり、アプリに貼り付けたりすることは簡単ではない。 エクスプローラーでも、ファイルを選択して、ファイル名の一覧のみを取得するような機能はない。 このような場合は、コマンドプロンプ
■■ Lhaplus を利用して連続zip圧縮、連続解凍するバッチのまとめ。 圧縮、解凍先はデスクトップ、 Lhaplus のインストール先は C:\Program Files\Lhaplus\Lhaplus.exe とします。 ◆◆ zip で連続圧縮のバッチファイル ◆◆ @echo off echo. set /p RES=選択ファイルをzip圧縮 Y/N ? echo. if /i {"%RES%"}=={"N"} ( exit ) else ( for %%i in (%*) do ( call :SUB %%i ) ) goto END :SUB "C:\Program Files\Lhaplus\Lhaplus.exe" %1 /c:zip /od exit /b :END exit 上の @echo off ~ exit をコピペでメモ帳などに貼り付け zip.bat など
Windowsバッチファイル変数 コマンドプロンプト変数の宣言 変数の宣言方法 SETコマンドで変数(環境変数)の設定を行います。 変数名と「=」の間はスペースを入れず記述する必要があります。(空白を含んだ変数名が設定されてしまうため。) SET 変数名=[文字列] SET /A 変数名=[数式] 変数を参照する場合は、変数名を「%」で囲みます。 ECHO %変数名% 変数のローカル化(変数スコープを設定する) 変数のローカル化とは、setlocalからendlocalの範囲内で定義した変数がその中だけ有効となり、外部の同名の変数に影響を及ぼさないようにすることです。 @echo off setlocal set num=1 echo %num% endlocal echo %num% 数値の表現 SETコマンドの「/A オプション」を用いることで変数に数値を代入することができます。 SE
先日投稿した .bat(バッチファイル)のifコマンド解説。 で予告した通り、forコマンドについても解説を行います。 forコマンドは、たまにバッチファイル中に出てきては見る人を混乱に陥れることで有名です。 ifよりは大分難しいコマンドなので、具体例を多めに取り入れようと思います。 飛ばし読みはしていないという前提で書いてます。可能な限り、最初からお読みください。 #目次 1.forコマンドの基本 1.そもそもfor文とは? 2.for文の解剖~ (オプション) ~ 3.for文の解剖~ %%アルファベット1文字 ~ 4.for文の解剖~ in ループ処理の対象 do ~ 2.forコマンドの構文①~ オプション無し…ディレクトリ内を対象にとる ~ 3.forコマンドの構文②~ /d…ディレクトリ名を対象にとる ~ 4.forコマンドの構文③~ /r…サブディレクトリまで対象にとる ~
フォルダ名を一発で取得できるような機能は用意されてないみたいなので forとバッチパラメータを使って指定のファイルを格納してるフォルダ名のみを取得する。 バッチパラメータを使用する際、最後の「\」より後ろをファイル名、最後の「.」以降を拡張子として 判断しているのでフォルダ名に「.」が含まれていることも考えて%~nxAによりフォルダ名が取得できる。 例 Z:\folder1\folder1.2\hoge.txt からhoge.txtを格納しているフォルダ名を取得する場合 : ファイルのパスを取得(例 \folder1\folder1.2\) SET FilePath=%~p1 : 取得したパスの終端の「\」取り除く(例 \folder1\folder1.2) SET FilePath=%FilePath:~0,-1% : forを使用してバッチパラメータを使いフォルダ名のみを取得する(例
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く