Markdown 파일을 PDF로 변환하는 스크립트를 작성하고 있습니다. Pandoc이 지원합니다.파일이 .double.extension 인 경우 Windows CMD 확장 파일 이름
C:\Users\User\Documents\English\PAPER1.md
을 스크립트로 드래그하면 C:\Users\User\Documents\English\PDFs\PAPER1.pdf
이 생성됩니다.
그러나 이는 특정 상황에서, 입력 I 파일명 만 여전히 Something.pdf
출력을 원하는 경우 Something.md.txt
될 것이다
set INPUT=%1
set PDFDIR=%~dp1\PDFs
set PDF=%PDFDIR%\%~n1.pdf
의해 스크립트의 헤더에 달성된다. 세 개 이상의 확장을 제거하는 것은 아마도 필요하지 않거나 바람직하지 않습니다.
그러나 현재 설치에서는 하나의 확장 만 제거하여 Something.md.pdf
을 생성합니다.
그러나, %~nn1.pdf
내가 "두 개의 확장"을 가진 파일의 맨 파일 이름을 얻는 방법
The following usage of the path operator in batch-parameter
substitution is invalid: %~np
을주는 일,도 set p=%~n1
set PDF=%~np
을 수행하지 않는 이유는 무엇입니까? 쌍 따옴표를 사용하여 가능한
Set "INPUT=%~1"
Set "PDFDIR=%~dp1PDFs"
For %%A In ("%~dpn1") Do Set "PDF=%PDFDIR%\%%~nA.pdf"
입력 내용의에는 보증인이 최선의 방법을 사용하시기 바랍니다 없기 때문에 항상 이러한 변수를 참조 :
두 개의 확장자로 작동합니다 : '%% a in ("% filename %") do %% b ("%% ~ Na") do "newName = %% ~ Nb.pdf " – Aacini
파일 이름에 실제 기간이 없다고 가정하십시오. 파일 이름에 필요한 : FOR/F "tokens = 1 * delims =." %% G IN ("% ~ nx1") do set name = %% G' – Squashman