【发布时间】:2020-07-28 07:05:18
【问题描述】:
我正在尝试编写一个小脚本来在运行 Windows 操作系统的机器中查找 Rscript 的绝对路径。我假设 Rscript 必须在 C:\Program Files\R\R-x.x.x 目录下找到,其中 x.x.x 代表 R 的任何版本。我编写了以下基于脚本在多个线程上 (Find file and return full path using a batch file)。
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /d %%a in ("C:\Program Files\R\") do (
if "%%~nxa"=="Rscript.exe" (
set p=%%~dpnxa
)
)
不幸的是,if 条件将 p 分配给 C:\Program Files\R\R-x.x.x 中的每个文件和文件夹。如果有人知道如何正确查找和分配 p,我将不胜感激!
问候,
胡安
编辑
我正在添加我的完整脚本
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /R %%a in ("C:\Program Files\R\R-*") do (
if /i "%%~nxa"=="Rscript.exe" (
set "p=%%~fa"
)
)
if defined p (
echo %p%
) else (
echo File not found
)
%p% runShinyApp.R 1> ShinyApp.log 2>&1
【问题讨论】:
-
把
R-*放在\R\后面,用if "%%~nxa"=="Rscript.exe"替换if exist "%%~fa\Rscript.exe", then useset "p=%%~fa\Rscript.exe"`... -
我还是有同样的问题
标签: windows batch-file cmd