我有一个.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
它获取到父目录的路径字符串(指定驱动器)