ECHO %filenameWithoutPGPExt%
:此行未在cmd
提示中显示任何内容。它也不会在gpg.exe
行中连接。有什么想法吗?
FOR %%F in (%inputDir%\\Invoices*.pgp) DO (
SET fName=%%F
SET filenameWithoutPGPExt=%%~nF
ECHO %filenameWithoutPGPExt%
C:\GnuPG\gpg.exe --batch --yes --output %outFilename%%filenameWithoutPGPExt% --passphrase-fd <C:\\GnuPG\\pasfraz.txt --decrypt %%F
)
答案 0 :(得分:2)
放手一搏。您可以在D:\dir
变量上更改inputdir
。
@echo off
set "inputdir=D:\dir"
setlocal enabledelayedexpansion
FOR %%F in (%inputDir%\Invoices*.pgp) DO (
SET "fName=%%F"
SET "filenameWithoutPGPExt=%%~nF"
ECHO !filenameWithoutPGPExt!
C:\GnuPG\gpg.exe --batch --yes --output %outFilename%!filenameWithoutPGPExt! --passphrase-fd <C:\\GnuPG\\pasfraz.txt --decrypt %%F
)
除非在别处使用,否则您也不需要设置变量。下面说明值将保持与设置变量相同。
FOR %%F in (%inputDir%\Invoices*.pgp) DO (
echo %%F
echo %%~nF
)