我正在使用程序加密.dll
和.exe
以便与USB许可证一起使用,如何简化我的.bat
脚本以输入目录中的所有文件并输出所有文件具有原始文件名但不必在.bat
脚本中键入每一行的文件?
以下是一个例子:
call %programforencypting% -o:"%dir%\subdirectory\file.dll" "%dir%\file.dll
call %programforencypting% -o:"%dir%\subdirectory\file2.dll" "%dir%\file2.dll
call %programforencypting% -o:"%dir%\subdirectory\file3.dll" "%dir%\file3.dll
call %programforencypting% -o:"%dir%\subdirectory\file.exe" "%dir%\file.exe
基本上,不是每个文件名都有数百行,而是相同的命令,我只是使用一些东西来实际上是通配符吗?
答案 0 :(得分:0)
我不熟悉使用引用变量调用程序,所以要小心。
也许这会奏效?或至少帮助。
rem delayed expansion enabled by habit with 'for' loops.
setlocal enableDelayedExpansion
for /r . %%G in (!dir!\subdirectory\*) do (
call !programforencypting! -o:"!dir!\subdirectory\%%~nxG" "!dir!\%%~nxG
)
让我知道这是否有效,或者你要我详细说明。
答案 1 :(得分:0)
for /f "delims=" %%a in ('dir /b /a-d *.dll *.exe') do call %programforencypting% -o:"%dir%\subdirectory\%%a" "%dir%\%%a"
作为批处理行 - 如果您有足够的勇气想要在每次提示时重新键入,请将所有%%a
缩减为%a
。