string - 提取部分变量

标签 string batch-file variables cmd

我正在尝试将循环中的文件的名称提取为字符串。在不同的文件夹中组织许多软件输出,以当前过程文件命名。

到目前为止我得到了这个,但我无法获得变量上的字符串:

set DirecoryT=%%G
FOR /R D:\LiDAR_Data\LiDAR_DATA_EBA\ %%G in (*.laz) do (
    echo Directory %DirecoryT%
    set File=%DirecoryT:~29,9%
    echo Processing file %File%
pause
)
pause

最佳答案

试一试:

@echo off
for /R "D:\LiDAR_Data\LiDAR_DATA_EBA\" %%G in (*.laz) do (
   echo File Extension only: "%%~xG"
   echo FileName with Extension: "%%~nxG"
   echo FileName without Extension: "%%~nG"
   echo Full path and name: "%%G"
   echo Directory to file only: "%%~pG"
   echo Drive and directory is: "%%~dpG"
 )
 pause

注意我们如何获取字符串的各个部分。有关变量处理的更多信息,只需从命令行运行 for/? 并阅读帮助。

根据您的尝试,更接近您实际想要的东西。

@echo off
for /R "D:\LiDAR_Data\LiDAR_DATA_EBA\" %%G in (*.laz) do (
   echo FileName "%%~nxG"
   echo Directory "%%~dpG"
   echo Processing file "%%~nxG"
 )
 pause

编辑

根据您最后的评论,仅查看文件所在的最后一个文件夹:

@echo off
for /R "D:\LiDAR_Data\LiDAR_DATA_EBA\" %%G in (*.laz) do (
   echo FileName "%%~nxG"
   echo Directory "%%~dpG"
   echo Processing file "%%~nxG"
  for %%i in ("%%~dpG\.") do echo Last Folder "%%~nxi"
 )
pause

关于string - 提取部分变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50010840/

相关文章:

ruby - 使用 Ruby 将字符串的开头或结尾与子字符串进行比较的最快方法是什么?

string - 当将char存储在字符串切片中时,char占用多少字节?

c - 如何将文本文件的每一行读入各自的变量中

variables - 用于每个 Controller 的 JMeter 正则表达式提取器

ruby - 为什么 Ruby 中的双铲不改变状态?

string - 从 Bash 脚本检测操作系统并通知用户

windows - 批处理中的最后一个标记由减号分隔

windows - 如何||和 && 使用括号括起来的复合命令?

file - 如何从文件中读取xxx字节,输出到变量

javascript - JS 中的局部变量和全局变量