파일을 다른 폴더로 이동하고 이메일 첨부 파일에 폴더 URL을 보냅니다.

djva

배치 파일:

@echo off
set source=D:\teste
set target=D:\trab

for /F "delims=" %%I in ('dir %source%\*.* /A:-D /O:D /B') do move %source%\%%I %target% & echo %%I %source%\%%I & goto :continue
:continue

set p/ AttachmentFullName=%target%\<<fileName.txt>>

cscript.exe //NoLogo "D:\partilhas\correo.vbs"  %AttachmentFullName%

timeout 20

VBScript 파일 :

Set objMail = CreateObject("CDO.Message")
Set objConf = CreateObject("CDO.Configuration")
Set objFlds = objConf.Fields

Dim attachmentFullName
attachmentFullName = WScript.Arguments.Named("%AttachmentFullName%")

objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'cdoSendUsingPort
objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.SMTP.com"
objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "NAME"
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "PWS"
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'cdoBasic
objFlds.Update
objMail.Configuration = objConf
objMail.From = "[email protected]"
objMail.To = "[email protected]"
objMail.Subject = "Email Subject Text"
objMail.AddAttachment attachmentFullName
objMail.TextBody = "The message of the email..."
objMail.Send
Set objFlds = Nothing
Set objConf = Nothing
Set objMail = Nothing

내가 원하는 것은 가장 오래된 폴더에서 최신 폴더로 파일을 하나씩 가져 와서 각각 첨부 된 이메일을 보내는 것입니다. 파일 번호로 같은 메일 번호를 보내고 같은 횟수로 이동합니다. 누군가 도와 주나요?

Ansgar Wiechers

귀하의 질문은 귀하가 겪고있는 문제에 대해 너무 명확하지 않지만 아마도 매개 변수 전달 일 것입니다.

라인

attachmentFullName = WScript.Arguments.Named("%AttachmentFullName%")

명명 된 매개 변수 의 인수를 변수%AttachmentFullName%할당합니다 attachmentFullName. 그러나 이것이 작동하려면 실제로 해당 이름의 명명 된 매개 변수로 VBScript를 호출해야합니다. VBScript에서 명명 된 매개 변수는 다음과 같이 작동합니다.

cscript.exe script.vbs /param:value

귀하의 경우 호출은 다음과 같아야 함을 의미합니다.

cscript.exe script.vbs /^%AttachmentFullName^%:value

실제로 %문자로 시작하고 끝나는 매개 변수 이름을 가져옵니다 .

배치 변수의 값을 명명되지 않은 인수%AttachmentFullName% 로 VBScript 에 전달할 가능성이 더 큽니다 . 그렇게하려면 진술을 변경하십시오.

attachmentFullName = WScript.Arguments.Named("%AttachmentFullName%")

이에:

attachmentFullName = WScript.Arguments.Unnamed(0)

다음과 같이 VBScript를 호출합니다.

cscript.exe //NoLogo "D:\partilhas\correo.vbs" "%AttachmentFullName%"

변수를 큰 따옴표로 묶으면 경로에 공백이 포함되어 있어도 스크립트가 중단되지 않습니다.

처음에 값이 할당 된 배치 변수를 얻는 것에 관해서는 현재 for루프 에서 파일 이름을 에코 하고 사용자에게 수동으로 입력하라는 메시지를 표시하는 것 같습니다 .

set p/ AttachmentFullName=%target%\<<fileName.txt>>

한 가지 이유는 위의 설명이 잘못되어 오류가 발생한다는 것입니다. 그러나 실제로 작동하더라도 사용자 상호 작용을 요구하는 대신 루프 내부의 변수에 경로를 할당해야합니다.

for /F "delims=" %%I in ('dir %source%\*.* /A:-D /O:D /B') do (
    move "%source%\%%~I" "%target%"
    set "AttachmentFullName=%target%\%%~I"
    goto :continue
)

편집 : 복사 된 모든 파일을 추가하려면 goto루프에서 를 제거 하고 변수에 추가해야합니다 ( 지연된 확장 필요 ). 루프 내부각 경로 주위에 큰 따옴표를 추가 하고 VBScript에 전달할 때 첨부 파일 변수를 큰 따옴표로 묶지 마십시오.

setlocal EnableDelayedExpansion
for /F "delims=" %%I in ('dir %source%\*.* /A:-D /O:D /B') do (
    move "%source%\%%~I" "%target%"
    set "Attachments=!Attachments! ^"%target%\%%~I^""
)

cscript.exe //NoLogo "D:\partilhas\correo.vbs" %Attachments%

그런 다음 VBScript가 (이름이 지정되지 않은) 인수를 반복하고 각 인수를 메일에 첨부합니다.

For Each arg In WScript.Arguments.Unnamed
  objMail.AddAttachment arg
Next

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

분류에서Dev

Outlook은 특정 폴더를 스캔하고 이메일의 모든 첨부 파일을 저장합니다.

분류에서Dev

특정 하위 폴더의 파일을 다른 하위 폴더로 이동

분류에서Dev

다른 폴더에있는 동일한 이름의 파일을 하나의 폴더로 이동

분류에서Dev

파일을 다른 폴더로 이동할 수 없습니다.

분류에서Dev

데이터 테이블의 각 행에 대해 서로 다른 pdf 파일을 생성하고 이메일 첨부 파일을 보냅니다.

분류에서Dev

중첩 된 폴더의 모든 파일을 다른 폴더로 이동

분류에서Dev

동일한 이름으로 새 하위 폴더를 만들고 파일을 새 폴더로 이동합니다.

분류에서Dev

파일 이름의 일부를 기준으로 폴더를 생성하고 생성 된 폴더로 파일을 이동합니다.

분류에서Dev

파일 이름의 일부를 기준으로 폴더를 생성하고 생성 된 폴더로 파일을 이동합니다.

분류에서Dev

shutil을 사용하여 폴더에서 다른 폴더로 파일 복사

분류에서Dev

텍스트 파일을 읽고 해당 파일 만 다른 폴더로 이동

분류에서Dev

VBScript는 폴더의 파일을 확인하고 1 시간이 지나지 않은 파일 이름을 이메일로 보냅니다.

분류에서Dev

쉘 스크립트의 이름을 바꾸고 한 폴더에서 다른 폴더로 파일 이동

분류에서Dev

PHP 스크립트는 스팸 폴더로 이메일을 보냅니다.

분류에서Dev

파일 이름을 기준으로 파일을 다른 폴더로 이동

분류에서Dev

mp.4 파일을 다른 폴더로 자동 이동

분류에서Dev

5 분마다 한 폴더에서 다른 폴더로 파일을 이동하는 배치 프로그램

분류에서Dev

폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

분류에서Dev

Python : 다양한 폴더 (각 폴더에 하나의 .csv 파일이 있음)에서 동일한 .csv 파일을 단일 폴더로 복사합니다.

분류에서Dev

폴더보기 권한이 거부되었습니다. 한 폴더에서 현재 폴더로 파일을 복사했습니다.

분류에서Dev

폴더보기 권한이 거부되었습니다. 한 폴더에서 현재 폴더로 파일을 복사했습니다.

분류에서Dev

SFTP 서버의 Python 파일을 다른 폴더로 이동

분류에서Dev

한 폴더에서 다른 폴더로 파일 이름 복사

분류에서Dev

R의 다른 폴더에 같은 이름의 일부 파일을 Rbind

분류에서Dev

.txt 파일의 부분 패턴을 기반으로 특정 파일을 다른 폴더로 이동

분류에서Dev

한 폴더에서 다른 폴더로 텍스트 파일을 이동하는 Powershell

분류에서Dev

이름별로 파일을 다른 폴더로 분리

분류에서Dev

파일로 구성된 파일 디렉토리를 가져 와서 모든 파일을 다른 폴더의 다른 이름을 가진 폴더에 씁니다.

Related 관련 기사

  1. 1

    한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

  2. 2

    Outlook은 특정 폴더를 스캔하고 이메일의 모든 첨부 파일을 저장합니다.

  3. 3

    특정 하위 폴더의 파일을 다른 하위 폴더로 이동

  4. 4

    다른 폴더에있는 동일한 이름의 파일을 하나의 폴더로 이동

  5. 5

    파일을 다른 폴더로 이동할 수 없습니다.

  6. 6

    데이터 테이블의 각 행에 대해 서로 다른 pdf 파일을 생성하고 이메일 첨부 파일을 보냅니다.

  7. 7

    중첩 된 폴더의 모든 파일을 다른 폴더로 이동

  8. 8

    동일한 이름으로 새 하위 폴더를 만들고 파일을 새 폴더로 이동합니다.

  9. 9

    파일 이름의 일부를 기준으로 폴더를 생성하고 생성 된 폴더로 파일을 이동합니다.

  10. 10

    파일 이름의 일부를 기준으로 폴더를 생성하고 생성 된 폴더로 파일을 이동합니다.

  11. 11

    shutil을 사용하여 폴더에서 다른 폴더로 파일 복사

  12. 12

    텍스트 파일을 읽고 해당 파일 만 다른 폴더로 이동

  13. 13

    VBScript는 폴더의 파일을 확인하고 1 시간이 지나지 않은 파일 이름을 이메일로 보냅니다.

  14. 14

    쉘 스크립트의 이름을 바꾸고 한 폴더에서 다른 폴더로 파일 이동

  15. 15

    PHP 스크립트는 스팸 폴더로 이메일을 보냅니다.

  16. 16

    파일 이름을 기준으로 파일을 다른 폴더로 이동

  17. 17

    mp.4 파일을 다른 폴더로 자동 이동

  18. 18

    5 분마다 한 폴더에서 다른 폴더로 파일을 이동하는 배치 프로그램

  19. 19

    폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

  20. 20

    Python : 다양한 폴더 (각 폴더에 하나의 .csv 파일이 있음)에서 동일한 .csv 파일을 단일 폴더로 복사합니다.

  21. 21

    폴더보기 권한이 거부되었습니다. 한 폴더에서 현재 폴더로 파일을 복사했습니다.

  22. 22

    폴더보기 권한이 거부되었습니다. 한 폴더에서 현재 폴더로 파일을 복사했습니다.

  23. 23

    SFTP 서버의 Python 파일을 다른 폴더로 이동

  24. 24

    한 폴더에서 다른 폴더로 파일 이름 복사

  25. 25

    R의 다른 폴더에 같은 이름의 일부 파일을 Rbind

  26. 26

    .txt 파일의 부분 패턴을 기반으로 특정 파일을 다른 폴더로 이동

  27. 27

    한 폴더에서 다른 폴더로 텍스트 파일을 이동하는 Powershell

  28. 28

    이름별로 파일을 다른 폴더로 분리

  29. 29

    파일로 구성된 파일 디렉토리를 가져 와서 모든 파일을 다른 폴더의 다른 이름을 가진 폴더에 씁니다.

뜨겁다태그

보관