如何用PowerShell递归调用Java程序并传入文件路径批量重命名文件
解决PowerShell传递文件路径给Java程序的问题
你的命令存在两个核心问题,导致Java程序返回路径无效:
- 使用
$_.name仅获取了文件名,缺少完整路径,Java无法定位文件 - 直接将管道输出传给外部
java命令时,$_变量无法正确引用当前文件对象
正确的实现命令
Get-ChildItem -Recurse -File | ForEach-Object { java -cp "C:\Users\Media PC\Documents\Renamer\src\main\java" org.example.Main $_.FullName }
关键说明
-File参数:确保仅递归遍历文件,避免将文件夹路径传入Java程序$_.FullName:获取文件的完整绝对路径,让Java程序能准确找到目标文件ForEach-Object:通过脚本块逐个处理管道中的文件对象,此时$_能正确指向当前遍历到的文件
内容的提问来源于stack exchange,提问作者Ryland301
相关产品推荐
相关产品推荐

