标签: file-rename

如何使用R重命名文件?

我有一堆文件名中包含“_001”的文件。我按照在线发布的脚本进行操作,我位于所有文件所在的目录中:

filez <- list.files()
sapply(filez, function(X) {file.rename(from=x, to=sub(pattern="_001", replacement="", x))})
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误消息:

file.rename(from = x, to = sub(pattern = "001", replacement = "")) 中的错误:找不到对象“x””。

谁能帮我解决这个问题?

r file file-rename

1
推荐指数
1
解决办法
3540
查看次数

如何递归地从文件名中删除所有非数字字符

这是当前的文件夹结构:

/home/ubuntu/Desktop/pictures/
/home/ubuntu/Desktop/pictures/folder1
/home/ubuntu/Desktop/pictures/folder1/John Doe - 1234567.JPG

/home/ubuntu/Desktop/pictures/folder2
/home/ubuntu/Desktop/pictures/folder2/Homer Simpson - 7654321.jpg
/home/ubuntu/Desktop/pictures/folder2/Lisa Simpson - 321456.jpg

/home/ubuntu/Desktop/pictures/folder3
/home/ubuntu/Desktop/pictures/folder3/Foo Bar - 234123.JPG
/home/ubuntu/Desktop/pictures/folder3/Bar Foo - 876542.JPG
Run Code Online (Sandbox Code Playgroud)

我想要的是构建一个脚本,循环遍历“图片”文件夹中的所有文件夹,并将所有“JPG”和“jpg”文件重命名为其数值,以便文件名“John Doe - 1234567.JPG” ”将变成“1234567.JPG”。

我确实尝试了一些 shell 脚本,但只有当 jpg 文件位于一个文件夹中时,我才能正常工作:

ubuntu@ubuntu:~/Desktop/pictures/in_one_folder$ ls
John Doe - 1234567.JPG          Foo Bar - 234123.JPG
Homer Simpson - 7654321.jpg     Bar Foo - 876542.JPG
Lisa Simpson - 321456.jpg       script.sh
Run Code Online (Sandbox Code Playgroud)

开始这个脚本:

for f in *JPG *jpg;
do
        file=$f
        remove_non_numeric=$(echo "$file" | sed 's/[^0-9]*//g')
        add_extension="$remove_non_numeric.jpg"
        echo "$add_extension"
        mv "$file" "$add_extension"
done
Run Code Online (Sandbox Code Playgroud)

结果如下:

ubuntu@ubuntu:~/Desktop/pictures/in_one_folder$ …
Run Code Online (Sandbox Code Playgroud)

bash scripting rename file-rename

1
推荐指数
1
解决办法
1292
查看次数

Git:手动合并未检测到的重命名中的更改

此问题使用 Git 2.7.0.windows.1,因此某些 git 命令可能已过时。

如果我的git merge命令没有检测到重命名的文件,我如何告诉 git 手动合并两个本应是单个文件的文件中的更改,而不需要重新开始合并并使用较低的重命名阈值?

复制步骤:

git init
echo "//Hello world!" > hw.h
git add . && git commit -m "Initial commit"
git checkout -b someBranch
mv hw.h hw.hpp
echo "//Foobar" > hw.hpp
git add . && git commit -m "Change hw to HPP & change content"
git checkout master
echo "//Boofar" > hw.h
git add . && git commit -m "Change content of hw"
git merge -X rename-threshold=100% someBranch
Run Code Online (Sandbox Code Playgroud)

您将遇到合并冲突,但不会出现冲突的块。也就是说,您应该得到的唯一冲突/错误是:

CONFLICT (modify/delete): …
Run Code Online (Sandbox Code Playgroud)

git merge file-rename git-merge

1
推荐指数
1
解决办法
522
查看次数

在python中按顺序重命名文件

嗨,我正在尝试重命名来自(test.jpeg、test1.jpeg、test2.jpeg 等...)(People-000、People-001、People-002 等...)的目录中的文件

但我还没有在网上的任何地方找到一个好的方法。我对 python 有点陌生,但如果我想通了它会非常有用。

python directory file-rename

1
推荐指数
1
解决办法
4130
查看次数

如何使用 Bash 删除文件名中的最后一个字符?

我的文件夹中有几个.txt文件,它们的名称如下:

file1.txt
file2.txt
file2.txt_newfile.txt
file3.txt
file4.txt
file4.txt_newfile.txt
file5.txt_newfile.txt
...
Run Code Online (Sandbox Code Playgroud)

_newfile.txt我正在尝试从文件名中删除。如果该文件存在,它应该被新文件覆盖(例如file2.txt将被替换,但file5.txt只会被重命名)。

预期输出:

file1.txt
file2.txt # this was file2.txt_newfile.txt
file3.txt
file4.txt # file4.txt_newfile.txt
file5.txt #file5.txt_newfile.txt
...
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码:

for i in $(find . -name "*_newfile.txt" -print); do 
mv -f "$file" "${file%????????????}"
done
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

mv: rename  to : No such file or directory
Run Code Online (Sandbox Code Playgroud)

我做错了什么以及如何重命名这些文件?

bash rename file-rename

1
推荐指数
1
解决办法
731
查看次数

在linux中不更改扩展名的情况下更改基本名称的脚本

我有几个带有a.dat, a.txt, a.mp3, b.dat, b.txt, b.mp3, b.zip, b.rar,c.mp3等等的文件。我想将所有基本名称为“a”的文件重命名为基本名称“x”。

这样文件就变成x.dat, x.txt, x.mp3, b.dat,b.txt ,b.mp3 ,b.zip ,b.rar ,c.mp3` 等等。

在 Linux 中,这可以通过终端完成,但需要大量输入。我想要一个脚本来为我完成任务。

linux bash shell file-rename

0
推荐指数
1
解决办法
1526
查看次数

无法重命名文件

我正在尝试从不以特定字符串开头的文件中删除行.我们的想法是将所需的行复制到临时文件,删除原始文件并将临时文件重命名为原始文件.

我的问题是我无法重命名文件!

tempFile.renameTo(new File(file))
Run Code Online (Sandbox Code Playgroud)

要么

tempFile.renameTo(inputFile)
Run Code Online (Sandbox Code Playgroud)

不工作.

谁能告诉我出了什么问题?这是代码:

/**
 * The intention is to have a method which would delete (or create
 * a new file) by deleting lines starting with a particular string. *
 */
package com.dr.sort;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class RemoveLinesFromFile {

    public void removeLinesStartsWith(String file, String startsWith, Boolean keepOrigFile) {
        String line = null;
        BufferedReader rd = null;
        PrintWriter wt = null;
        File tempFile = …
Run Code Online (Sandbox Code Playgroud)

java file file-rename

0
推荐指数
1
解决办法
3348
查看次数

对于批处理文件中的循环重命名一个文件两次

我编写了这个批处理文件,将一些文本附加到一组jpeg文件的文件名中,提供了在当前文件名之前或之后附加它们的选项.

但是由于一些奇怪的原因,当在文件名之前附加时,一个文件被执行两次,结果为new_new_FileName.jpg,而所有其他文件只是new_FileName.jpg.

有趣的是,这个问题并不总是发生,以及在文件名后追加它总是正常工作.

以下是整个代码,之前或之后没有视觉差异,但仍然产生不同的结果.任何人都可以检查这个文件并解释我错在哪里?

感谢帮助.

@ECHO off
title Rename Script
set /A count=1
:Start
cls
set /p STR=choose a string to append:
cls
echo 1. Append before
echo 2. Append after
set /p choice=I choose (1,2):
if %choice%==1 goto renameb
if %choice%==2 goto renamea
:renameB
cls
echo Appending '%STR%' before current file name.
echo.
set /A count=0
FOR %%a in (*.jpg) DO (
    ren "%%~a" "%STR%%%~na%%~xa"
    echo Was: %%~a Became: %STR%%%~na%%~xa
    set /A count+=1
)
goto end
:renameA
cls
echo …
Run Code Online (Sandbox Code Playgroud)

for-loop cmd batch-file file-rename batch-rename

0
推荐指数
1
解决办法
1376
查看次数

rename()不能在使用Dev C++编译的C程序中工作

我想在C中编写一个可以在MS Win 7环境(NTFS文件系统)下重命名多个文件的程序.因此,这个rename()功能似乎是一个自然的选择.但是,当我在Dev-C++中编写以下内容(但将源文件命名为.c)时:

rename(name1, name2);
Run Code Online (Sandbox Code Playgroud)

编译文件给我错误:

[Error] called object 'rename' is not a function
Run Code Online (Sandbox Code Playgroud)

我已经添加<stdio.h>了标题.有什么我想念的吗?

源代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 50
#define MAX 49

int main()
{
    int *p;
    int i, rename;
    char name1[25], name2[25];

    srand(time(NULL));
    rename = 0;

    p = (int *)malloc(sizeof(int) * N);
    for (i = 0; i < N; i++)
       p[i] = 0;

    for (i = 0; i < MAX; i++) {
        if (p[i] == 0) {
            printf ("** …
Run Code Online (Sandbox Code Playgroud)

c ntfs rename file-rename dev-c++

0
推荐指数
1
解决办法
789
查看次数

在macOS终端上重命名多个文件

是否可以重命名多个共享相似名称但同时属于不同类型文件的文件?

例:

apple.png

苹果.pdf

apple.jpg

我可以用苹果代替其他东西,例如“梨”吗?如果可能的话,命令将是什么?非常感谢您的宝贵时间!

macos bash shell file-rename

0
推荐指数
1
解决办法
2072
查看次数

在开头重命名文件名

我想使用bash重命名多个文件.
如果文件名包含01我想要附加1在文件名的开头,依此类推.

文件名称:

Old Movie-01.mp4
New Movie-02.mp4
Clip From-before-03.mp4
Clip Old-before-04.mp4  
Run Code Online (Sandbox Code Playgroud)

期望的结果:

1 Old Movie-01.mp4
2 New Movie-02.mp4
3 Clip From-before-03.mp4
4 Clip Old-before-04.mp4
Run Code Online (Sandbox Code Playgroud)

bash shell file-rename

0
推荐指数
1
解决办法
202
查看次数

显示 Git 存储库的移动/重命名文件

我在一个最近经过重组的大型代码库中工作,许多文件不再是我所期望的。

如何查看在两次提交之间移动/重命名的文件列表?我对这些或其他文件的更改不感兴趣,只是以某种方式将旧名称映射到新名称的视图。

git file-rename

0
推荐指数
1
解决办法
38
查看次数

标签 统计

file-rename ×12

bash ×5

rename ×3

shell ×3

file ×2

git ×2

batch-file ×1

batch-rename ×1

c ×1

cmd ×1

dev-c++ ×1

directory ×1

for-loop ×1

git-merge ×1

java ×1

linux ×1

macos ×1

merge ×1

ntfs ×1

python ×1

r ×1

scripting ×1