我在一個文件夾中有一些名稱類似abc_old.php的文件,現在我想重命名爲abc.php,這是我想從我的所有文件名中刪除「_old」。如何我一次性做到這一點?重命名文件夾中的文件
0
A
回答
1
殼牌設施將通過FTP進行限制。我會將文件複製到本地目錄。在bash(假設在你上面聲稱擁有Linux中提供):
for filename in *_old.php
do
mv $filename ${filename%_old.php}.php
done
%操作字符串的結尾相匹配,並返回$文件名不匹配段(在%後位)。因此,上面的內容會打印_old.php,然後替換.php。
我還沒有測試過上述內容。先在虛擬目錄上嘗試它。
0
編寫一個循環循環,解析文件名,進行所需更改並重命名文件的程序。我不知道有任何這樣做的捷徑。
您可能會發現將文件複製到本地計算機更容易,運行程序以更改名稱,然後將新命名的文件上傳到FTP服務器(並且顯然刪除舊文件)
1
很久以前,我在Programming Perl 4 O'Reilly的書後面發現了一小段代碼,可以讓你使用正則表達式重命名文件。我從那以後就使用過它。能夠使用Perl正則表達式,特別是tr和s,使文件重命名變得如此簡單。因此,請將其粘貼到路徑中的一個名爲rename的文件中,使其可執行爲「chmod ugo + x rename」,並將其保存爲常規工具庫的一部分。檢查你的perl是在哪個perl中,並適當調整第一行。這假設你在一個可以訪問Perl的Unix系統上。
#!/usr/bin/perl
# Usage: rename perlexpr [files]
($op = shift) || die "Usage: rename perlexpr [filenames]\n";
if ([email protected])
{
@ARGV = <STDIN>;
chop (@ARGV);
}
for (@ARGV)
{
$was = $_;
eval $op;
die [email protected] if [email protected];
rename ($was,$_) unless $was eq $_;
}
所以你的例子,你可以做
rename "s/_old//" *_old.php
哎呀。這個問題的標籤是ftp。如果你的訪問是通過ftp訪問的,那麼這是行不通的,因爲你不能訪問shell。
相關問題
- 1. 重命名文件夾中
- 2. 在bash中重命名文件夾,文件和子文件夾
- 3. SVN文件夾重命名
- 4. 重命名文件夾
- 5. 重命名wordpress文件夾
- 6. 重命名子文件夾
- 7. Skydrive重命名文件夾
- 8. PHP重命名文件夾
- 9. 重命名文件夾
- 10. 重命名文件夾
- 11. 文件夾/文件重命名
- 12. python:按子文件夾名稱重命名子文件夾中的文件
- 13. 批處理文件重命名文件夾中的文件
- 14. SVN重命名分支文件夾中的文件夾衝突
- 15. Windows批量重命名文件夾中的文件夾
- 16. 重命名文件夾,子文件夾和文件
- 17. 重命名帶擴展名的文件夾中的文件
- 18. 重命名文件夾中的重複文件
- 19. 用php重命名文件夾中的重複文件
- 20. Rsynch和SSH:重命名文件夾時只重命名文件夾
- 21. 重命名文件夾並在PowerShell中創建新文件夾
- 22. 將文件夾內的文件批量重命名爲父文件夾名稱
- 23. 將文件夾名重命名爲帶有bash的文件名
- 24. 重命名目錄中的文件夾中的所有文件
- 25. Windows重命名子文件夾命令
- 26. 在TFS 2010中重命名文件夾
- 27. 在Python中重命名文件夾
- 28. 在wincvs中重命名文件夾
- 29. 在Linux中重命名文件時包含文件夾名稱
- 30. 使用文件夾名稱在powershell中重命名文件
Over ftp?視窗? Linux呢? – Blorgbeard 2009-06-11 11:52:33
你想寫一個自定義的ftp應用程序嗎?或者您是否使用現有的ftp客戶端? – Tony 2009-06-11 11:53:13