0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

dirsub.bat カレントフォルダー以下のファイル、フォルダーを相対パスで表示するバッチファイル

Posted at

dirsub.batの使い方

drisub.bat

引数無しで実行すると、カレントフォルダー以下の全ファイルが相対パスで表示される

dirsub.bat *.txt

のように実行すると、カレントフォルダー以下の該当ファイルが相対パスで表示される

dirsub.bat \

で実行すると、カレントフォルダー以下の全フォルダーが相対パスで表示される

forfiles /s /m * /c "cmd /c if @isdir==FALSE echo @relpath"

というコマンドは有るが、出力結果にダブルクォーテーションと
行頭にドットバックスラッシュが付加されてしまう。
打ち込む文字数多い。

dir/s/b

というコマンドオプションはあるが、フルパスで表示されてしまう。

concat.batの使い方

dirsub.bat *.txt *.cfg *.py > file_list.txt
concat.bat file_list.txt

のようにすると、該当ファイルが1つのテキストファイルにまとめれる。
##################################################

::This software includes the work that is distributed in the Apache License 2.0.
::https://www.apache.org/licenses/LICENSE-2.0

::dirsub.bat

@echo off

setlocal enableDelayedExpansion

if "%~1" == "" (
	for /r %CD% %%A in (*.*) do (
		set par_dir=%%~dpA
		set file_path=!par_dir:%CD%\=!%%~nxA
		if exist !file_path! (echo !file_path!)
	)
) else (
	for /r %CD% %%A in (%*) do (
		set par_dir=%%~dpA
		set file_path=!par_dir:%CD%\=!%%~nxA
		if exist !file_path! (echo !file_path!)
	)
)

endlocal

##################################################

::This software includes the work that is distributed in the Apache License 2.0.
::https://www.apache.org/licenses/LICENSE-2.0

::concat.bat

@echo off
chcp 65001 > nul

set file_name=result.txt
set sep=##################################################

type nul > %file_name%

for /f "delims=" %%A in (%*) do (
	(echo #%%A) >> %file_name%
	(echo;) >> %file_name%
	type %%A >> %file_name%
	(echo %sep%) >> %file_name%
)

元記事
https://egg-sandwich.com/blog/2022/03/06/dirsub-bat-%e3%82%ab%e3%83%ac%e3%83%b3%e3%83%88%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e3%83%bc%e4%bb%a5%e4%b8%8b%e3%81%ae%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%80%81%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?