v - disallowed
copy "Y:\Print OPS\Annuity Ops\*\*.pdf" "Y:\Print OPS\Annuity Ops"
^ allowed
Caracteres especiais *
são permitidos somente na última parte de um caminho no Windows. O próximo snippet de código pode ajudar:
@ECHO OFF
SETLOCAL EnableExtensions
set "_parent=Y:\Print OPS\Annuity Ops"
for /D %%G in ("%_parent%\*") do (
if exist "%%~G\*.pdf" (
echo copy /B "%%~G\*.pdf" "%_parent%\"
) else (
echo nothig to copy "%%~G\*.pdf" "%_parent%\"
)
)
Observe que o código acima meramente exibe os comandos a serem executados para fins de depuração. Substitua echo copy /B
por copy /B
operacional não antes que depurado. Você também pode remover toda a ramificação else
.
Recursos (leitura obrigatória):
- (referência de comando) Um índice A-Z da linha de comando do Windows CMD
- (particularidades adicionais) Sintaxe da linha de comando do shell do Windows CMD
- (
%~G
etc. página especial) Argumentos da linha de comando (parâmetros) - (
for /D
loop) Realize condicionalmente um comando em vários diretórios / pastas