cuốn sách gpt4 ai đã làm

Vòng lặp FOR nhóm mỗi lần lặp vào một hàng có cùng tiền tố

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 11:49:49 25 4
mua khóa gpt4 Nike

Hãy để tôi lấy làm ví dụ một câu hỏi mà tôi thấy thú vị:Hợp nhất các tệp pdf với tên tệp liên quan

Trong câu hỏi này, tôi đã cố gắng trả lời thành công một phần vì nó đã cập nhật câu hỏi với nhiều thông tin hơn.

Tóm lại vấn đề là một thư mục có nội dung sau:

123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
111111_ABCD.pdf
111111_EFGH.pdf
222222_IJKL.pdf
222222_WXYZ.pdf

chỉ huy , Tôi muốn nhận được kết quả như thế này:

123456_ABCD.pdf, 123456_EFGH.pdf, 123456_IJKL.pdf
111111_ABCD.pdf, 111111_EFGH.pdf
222222_IJKL.pdf, 222222_WXYZ.pdf

Mỗi dòng ở đây phải thể hiện lệnh for

Tiền tố tương tự được tìm thấy trong

Đây là những gì tôi đã thử:

@echo off
(
sao chép số 123456_ABCD.pdf
sao chép nul 123456_EFGH.pdf
sao chép nul 123456_IJKL.pdf
sao chép số 111111_ABCD.pdf
sao chép nul 111111_EFGH.pdf
sao chép nul 222222_IJKL.pdf
sao chép nul 222222_WXYZ.pdf
)

mở rộng kích hoạt setlocal

::đặt _pdffiles=
set_prevfiles=
for /f "delims=" %%i in ('dir /b /ad /o:n "??????_????.pdf"') làm (
đặt "tệp=%%nxi"
if "!files:~0,6!" neq "!_prevfiles:~0,6!"
đặt "_prevfiles=%%i"
đặt _pdffiles=!_pdffiles!
đặt "_outputpdf=%%~ni"
) else (
set_prevfiles=
đặt _pdffiles=
)
echo pdftk.exe !_pdffiles đầu ra mèo "!_outputpdf:~0,6!.pdf"
)

Nhưng điều này mang lại cho tôi kết quả:

pdftk.exe "111111_ABCD.pdf" đầu ra mèo "111111.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" đầu ra mèo "111111.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" "123456_ABCD.pdf" đầu ra mèo "123456.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" "123456_ABCD.pdf" "123456_EFGH.pdf" đầu ra mèo "123456.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" "123456_ABCD.pdf" "123456_EFGH.pdf" "123456_IJKL.pdf" đầu ra mèo "123456.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" "123456_ABCD.pdf" "123456_EFGH.pdf" "123456_IJKL.pdf" "222222_IJKL.pdf" đầu ra mèo "222222.pdf"
pdftk.exe "111111_ABCD.pdf" "111111_EFGH.pdf" "123456_ABCD.pdf" "123456_EFGH.pdf" "123456_IJKL.pdf" "222222_IJKL.pdf" "222222_WXYZ.pdf" đầu ra mèo "222222.pdf"

Tôi đã tìm kiếm các ví dụ tương tự nhưng tôi chưa tìm ra cách tránh điều này.

ps: nếu ai có thể tìm thấy gợi ý tiêu đề hay xin vui lòng :)

câu trả lời hay nhất

tắt tiếng vang
setlocal EnableDelayedExpansion

đặt "danh sách ="
for /F "tokens=1,2 delims=_" %%a in ('dir /B *.pdf') làm (
if "!last!" neq "%%a" (
nếu được xác định danh sách echo pdftk.exe !list:~2!
đặt "danh sách ="
đặt "cuối cùng=%%a"
)
đặt "list=!list!, %%a_%%b"
)
echo pdftk.exe !list:~2!

Về cửa sổ - Vòng lặp FOR để nhóm mỗi lần lặp trong một hàng có cùng tiền tố, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/32823742/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress