我有一個.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
它取得到父目錄的路徑字串(指定磁碟機)