找不到将dos文件转换为unix的windows命令

找不到将dos文件转换为unix的windows命令,windows,unix,text-files,file-conversion,eol,Windows,Unix,Text Files,File Conversion,Eol,我遇到的情况是,我有一个普通的windows文本文件'command.txt',我正在使用cmd中的“pscp”命令从本地机器(windows)的远程(unix)服务器上复制它 该文件包含在远程服务器上运行所需的一些unix命令。复制已成功完成,但正在将其复制为dos文件。这就是为什么,当我试图使用“plink”从本地计算机运行command.txt文件时: plink -pw password user@host bash -m /location of command.txt on the

我遇到的情况是,我有一个普通的windows文本文件
'command.txt'
,我正在使用
cmd
中的“
pscp
”命令从本地机器(
windows
)的远程(
unix
)服务器上复制它

该文件包含在远程服务器上运行所需的一些unix命令。复制已成功完成,但正在将其复制为dos文件。这就是为什么,当我试图使用“plink”从本地计算机运行command.txt文件时:

plink -pw password user@host bash -m /location of command.txt on the server/command.txt
它无法执行
命令.txt
。因此,在远程服务器上复制文件之前,我需要一些windows命令或pscp选项将文件转换为unix文本文件


我知道的解决方案是使用
dos2unix
,但我不想使用它

在Windows box上生成的文本文件中,LF(换行符)字符似乎有问题。如果文件不大,可以使用VBScript(它位于所有Windows框中,因此无需安装其他工具)删除LF字符:

Dim objFSO
Dim objOutput
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutput = objFSO.CreateTextFile("out.txt")
arrData = Split(objFSO.OpenTextFile("in.txt").ReadAll, vbLf)

For Each Item In arrData
   strData = strData & Replace(Item, vbLf, "")
Next
objOutput.WriteLine strData
objOutput.Close
上面显示的脚本将in.txt文件转换为out.txt文件,但可以轻松扩展以接受来自命令行的文件名

您可以使用
cscript
命令执行上述脚本:

cscript rem.vbs

在Windows box上生成的文本文件中,LF(换行符)字符似乎有问题。如果文件不大,可以使用VBScript(它位于所有Windows框中,因此无需安装其他工具)删除LF字符:

Dim objFSO
Dim objOutput
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutput = objFSO.CreateTextFile("out.txt")
arrData = Split(objFSO.OpenTextFile("in.txt").ReadAll, vbLf)

For Each Item In arrData
   strData = strData & Replace(Item, vbLf, "")
Next
objOutput.WriteLine strData
objOutput.Close
上面显示的脚本将in.txt文件转换为out.txt文件,但可以轻松扩展以接受来自命令行的文件名

您可以使用
cscript
命令执行上述脚本:

cscript rem.vbs

您也可以在Windows上运行dos2unix。Dos2unix不限于Linux。它在许多平台上运行,包括Windows。您只需安装它。

您也可以在Windows上运行dos2unix。Dos2unix不限于Linux。它在许多平台上运行,包括Windows。您只需安装即可。

谢谢您的回复。 问题是,我必须只使用提供给我的环境(即Windows)执行此任务,而不下载新功能(我知道这很愚蠢,但我没有其他选择)。我找到的一个解决方案是用notepad++打开文件,转到“格式”选项卡并选择“转换为UNIX格式”。它工作正常,但只要我在其他位置复制文件,它的格式就会再次恢复为windows格式

是否有任何方法可以保留格式中的更改?

感谢您的回复。 问题是,我必须只使用提供给我的环境(即Windows)执行此任务,而不下载新功能(我知道这很愚蠢,但我没有其他选择)。我找到的一个解决方案是用notepad++打开文件,转到“格式”选项卡并选择“转换为UNIX格式”。它工作正常,但只要我在其他位置复制文件,它的格式就会再次恢复为windows格式


有什么方法可以保持格式中的更改吗?

我知道的解决方案是使用dos2unix,但我不想使用它。为什么?因为它是在Linux上运行的,而我正试图进行连续部署,这项任务是其中的一部分,所以每个任务都必须在本地机器上执行,例如windows。我知道的解决方案是使用dos2unix,但我不想使用它。为什么?因为它是在Linux上运行的,而我正试图进行连续部署,这项任务就是其中的一部分,所以每个任务都必须在本地机器上执行,例如windows。