배치 스크립트를 사용하여 경로에 와일드 카드가있는 매개 변수가있는 -jar을 호출하려고합니다. 내가 수동으로 입력하면 나는이 같은 CMD에이 작업을 수행 할 수 있습니다 즉 배치 스크립트에서 작동하지 않는 이유 내가 아는경로에 와일드 카드가있는 일괄 스크립트의 매개 변수가있는 .jar 호출
for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml
다음과 같이, 나는, '%'의를 추가로 추가해야합니다
를for /d %%a in ("C:\Program Files (x86)\Java\*") do "%%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml
문제는 내가 시도 할 때 CMD 줄의 출력이 처음에 '/ d'의 d를 생략한다는 것입니다. 이것이 왜 필요한지, 내가 무엇을 바꾸어야하는지 확신 할 수 없습니다. 내가 수동으로 다음과 같이 시작, 내가 출력을 얻을 수 (하나의 '%'의 사용) 명령을 입력하면
for/%a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml
:
C:\windows\system32>for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml
C:\windows\system32>"C:\Program Files (x86)\Java\jre1.8.0_152\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml
[ Starting automated installation ]
Read pack list from xml definition.
Try to add to selection [Name: Base and Index: 0]
Try to add to selection [Name: Standard and Index: 1]
Try to remove from selection [Name: Optional Plugin - Greenplum and Index: 2]
Try to remove from selection [Name: Optional Plugin - WIKI table configurations
그러나 코드는 여전히 올바르게 실행되므로 문제가 무엇인지 확실하지 않습니다. – Squashman
hm, 배치에서 실행할 때 실제로 명령을 실행하지 않고 그냥 마지막 행을 출력하고 진행합니다. – Banjomin
배치 파일 내에 다른 것을 표시하지 않거나 실행을 올바르게 변경하지 않았다는 느낌이 들었습니다. 배치 파일에. 'FOR' 변수에 대한 백분율 기호를 두 배로 늘린 후에 배치 파일에서 실행하지 않으려면 거의 불가능합니다. – Squashman