是否有用于粘贴的 Windows CMD 命令

是否有用于粘贴的 Windows CMD 命令

如果剪贴板中有文件,我可以使用 ctrl+v 或右键单击 + 粘贴将其粘贴到目录中。有没有办法通过命令行执行粘贴?

答案1

  • 选项1

为什么不在//运行一条线 命令去做这个...

1)复制或者更多的文件到剪贴板

2)设置目标驱动器\文件夹: Copy-Item -Destination D:\Folder_Target

  • 将文件粘贴到%temp%文件夹:
powershell --NoProfile -command "Get-Clipboard -Format FileDropList | Copy-Item -Destination $env:temp"

powershell --NoProfile -command "Get-Clipboard -Format FileDropList | Copy-Item -Destination $env:temp"
  • 或者使用别名
powershell -nOp -c "gcb -Format FileDropList | cpi -Destination $env:temp -PassThru"

  • 选项 #2

在哪里/粘贴代码,它将在运行时被编译并执行。

  • 用法: paste.bat D:\folder\target\
/* & @cls & @echo off & title <nul & title %~nx0: Past File to: "%~1" & setlocal enabledelayedexpansion

2>nul >nul del /q /f "%tmp%\TSPaste2.exe" & for /f tokens^=* %%c in ('%__APPDIR__%where.exe /r "c:\Windows\Microsoft.NET" csc.exe
')do "%%~c" /t:exe /out:"%tmp%\TSPaste2.exe" "%~f0" /platform:anycpu /unsafe+ /w:0 /o /nologo && goto :next

echo/Error: Check/edit ccs.exe command line/flags^!! && endlocal && goto :EOF

:next 
"%tmp%\TSPaste2.exe" "%~1" & del /q /f "%tmp%\TSPaste2.exe" & endlocal & goto :EOF && rem./ 2>nul >nul */

// C# code by @Andy Brown  https://www.experts-exchange.com/
// 
using System;
using System.IO;
using System.Windows.Forms;

namespace TSPaste2
{
    class Program
    {
        //Getting destination foler :: note: from argument %~1 ::
        String[] args = Environment.GetCommandLineArgs();
        [STAThread] static void Main(string[] args)
        {
            //Setting Destination foler:
            string DestFolder = args[0];

            if (Clipboard.ContainsFileDropList())
            {
                //copy to D:\test ( note: note: C# args[0] == bat/cmd == "%~1" )
                foreach (string source in Clipboard.GetFileDropList())
                {
                    string Dest = DestFolder + "\\" + Path.GetFileName(source);
                     File.Copy(source, Dest, true); 
                }
            }
        }
    }
}
  • 这是命令行习惯编译代码:
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /t:exe out:"%tmp%\TSPaste2.exe" "%tmp%\TSPaste2.cs" /platform:anycpu /unsafe+ /w:0 /o nologo
  • 代码是编译/测试csc.exe版本:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
c:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
c:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe
c:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
  • 这是command line习惯编译代码:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /t:exe /out:"%tmp%\TSPaste2.exe" "%tmp%\TSPaste2.cs" /platform:anycpu /unsafe+ /w:0 /o /nologo
  • 用法TSPaste2.exe C:\destination\folder

要保留TSPaste2.exe编译后的文件,请编辑代码并添加以下内容line in bold/italics:

:next
copy /y "%tmp%\TSPaste2.exe" "c:\some\folder"
"%tmp%\TSPaste2.exe" "%~1" & del /q /f "%tmp%\TSPaste2.exe" & endlocal & goto :EOF && rem./ 2>nul >nul */ 

观察:1) 代码/通过@Andy Brown / Experts-Exchange C 从剪贴板粘贴文件

观察:2) 代码覆写文件(如果它们存在于目标文件夹中)。

阅读更多:File.Copy 方法

答案2

以下是如何将单个文件从一个目录复制到另一个目录的步骤。

复制单个文件

使用 cd 命令,移动到包含要复制的文件的目录。

键入类似于以下命令的命令。

copy myfile.txt c:\my\location

在上面的例子中,你可以用要复制的文件的名称替换“myfile.txt”,用目标目录替换“c:\my\location”。要查看当前目录中可用的文件,请使用 dir 命令。

将多个文件复制到另一个位置

以下是如何将多个文件从一个目录复制到另一个目录的步骤。

使用 cd 命令,移动到包含要复制的文件的目录。

进入包含要复制的文件的目录后,键入类似于以下命令之一的命令。

copy *.* c:\mydir

在上面的例子中,该命令会将当前目录下的每个文件复制到“mydir”目录。

copy *.txt c:\mydir

在上面的例子中,命令会将当前目录中的每个 txt 或文本文件复制到“mydir”目录中。

来源:https://www.computerhope.com/issues/ch000766.htm

相关内容