0

我在与要重命名的 .png 文件相同的目录中有以下 .rb 数组脚本。我最初运行脚本,它找到了 csv 和文本文件,并使用这些文件中的列表来重命名 .png 文件。现在由于某种原因,它不会在运行脚本时打开 .txt 文件或 .csv 文件来重命名 .png 文件。收到错误“无法将 Nil 转换为字符串”。ARGV[0] 会在同一目录中搜索任何文本或 csv 文件吗?

open(ARGV[0]).each do |line|
rec = line.strip.split(",")
#arguments are record array
originalName = rec[0]
newName=rec[1]
commandString = `mv '#{originalName}'.png '#{newName}'.png`
puts commandString
puts #{commandString}
4

1 回答 1

0

ARGV[0] 会在同一目录中搜索任何文本或 csv 文件吗?

不,ARGV[0]这只是您传递给脚本的第一个参数。

要使此脚本正常工作,您似乎需要使用要用作其第一个参数的 csv 文件来运行脚本,并且您必须位于包含要重命名的文件的目录中。

例如,

cd /path/to/png_files
./mass_rename_script.rb file_with_stuff_to_rename.csv
于 2013-08-06T16:07:46.040 回答