
我必須將很多 .ai 檔案轉換為 .svg,我找到了 ai2svg 工具。我試過了
for i in `find ./ -type f -name \*.ai`; do python ai2svg.py "$i"; done
但我收到類似的錯誤
IOError:[Errno 2]沒有這樣的檔案或目錄:「設定檔」回溯(最近一次呼叫最後):檔案“ai2svg.py”,第171行,inf = open(sys.argv [1])
當檔案名稱是“Profile test.ai”時。除了事先從 .ai 檔案中刪除名稱中的所有空格之外,還有什麼辦法可以解決這個問題嗎?
謝謝。
答案1
這將做到這一點:
find . -type f -name \*.ai -exec python ai2svg.py {} \;
如果ai2svg.py
使用多個檔案(如大多數 *nix 工具),您可以執行以下操作以最少執行命令次數:
find . -type f -name \*.ai -exec python ai2svg.py {} +
如果您只關心當前目錄中的文件,您可以使用標準循環:
for file in *.ai
do
python ai2svg.py "$file"
done
答案2
正確的方法如下:
find . -maxdepth 1 -type f -name '*.ai' -print0 | while read -d '' -r file; do python ai2svg.py "$file"; done
請注意,其中-print0
的選項find
與-d ''
in一起read
處理檔案名稱中的任何空白字符,包括換行符和製表符。