将变量设置为%% f

时间:2018-05-21 17:40:05

标签: batch-file

这是我的程序的测试代码。程序获取文件扩展名为.txt的所有文件打开它然后执行任务,然后将文件保存为.pdf

@setlocal enableextensions enabledelayedexpansion
@ECHO OFF
set test = hi
for /R  %%f in (*.txt) do (
  @echo %%f
  echo test =  "%%f"
  set test =  "%%f"
  echo %test%
  set test =!test:~0,-4!
  echo !test!
  )
  pause
)
endlocal

pause

因为在程序中有一种特定的导出方式,我使用VBS脚本中的SendKeys将文件名发送到通常的保存窗口。我试图删除文件扩展名但它无法正常工作。我只是让Echo关闭,因为变量不能正确设置

我也试过这个

setlocal enabledelayedexpansion
@echo off
set variable = 
for /R %%f in (*.vc6) do (
  @echo %%f 
  FOR /F "delims=" %%i IN ("%%f") DO (
    ECHO filedrive=%%~di
       SET filedrive=%%~di

    ECHO filepath=%%~pi
    SET filepath=%%~pi   
    ECHO filename=%%~ni

    set filename=%%~ni 
    ECHO fileextension=%%~xi

    ECHO !fileextension!
    set noext = %%filedrive%%%%filepath%%%%filename%%
    ECHO !noext!

  )
  pause
)
endlocal

pause

但我仍然得到相同的回声输出关闭。理想情况下,我可以让第二个工作,因为我需要将其保存在不同的文件夹

在此之前被标记为重复,因为似乎有其他人喜欢这样。我仔细研究过它们并没有奏效。

0 个答案:

没有答案