いくつかのテキスト ファイルを 1 つの大きなファイルに連結するスクリプトがあります.bat
。結果のファイルをハードコードされたパスではなく現在のディレクトリに移動させたいと思います。
これが私のスクリプトです:
@echo off
:loop
if ($1) == () goto end
more +9 %1% >> %cd%\bigfile.txt
shift
goto loop
:end
これを「送信先」フォルダに保存しておいたので、DirectoryA で複数のファイルを選択し、右クリックしてバッチ スクリプトに「送信」することができます。これでうまくいきますが、bigfile.txt をすべての小さなファイルと同じディレクトリに置きたいです。アイデアはありますか?
答え1
@echo off
setlocal enableextensions disabledelayedexpansion
:loop
if "%~1"=="" goto :eof
more +9 "%~1" >> "%~dp1bigfile.txt"
shift
goto loop
出力をbigfile.txt
ソースファイルと同じドライブとパスのファイル( )に追加します。
答え2
置き換えることで達成できる
%cd%\bigfile.txt
と
%cd:~0,2%%~p1
親ディレクトリまでのパスの文字列を取得します(ドライブが指定されています)