2017-11-02 9 views
0

私は自分のMacでCSVKITされていますが、他のユーザーが自分のワークフローにアクセスできるようにワークフローをPCプラットフォームに移しています。私が使用している項目の1つは、固定幅ファイル形式を変換するためのin2csvです。私はそれバッチ処理のためのセットアップされているMacの場合:CSVKIT:in2csv Windows 7でのバッチ変換

for x in $(ls desktop/fixedwidth/*.txt); do x1=${x%%.*}; in2csv -f fixed -s desktop/ff/schema.csv $x > $x1.csv; echo "$x1.csv done."; done 

私はバッチファイルから実行することができますPCのコマンドラインオプションにこれを変換しようとしているが、私は運

を持っていませんでした
for /r %%i in (*.csv) do c:\programdata\python\python36\scripts\in2csv -f fixed -s c:\users\username\desktop\in2cs_schema\test_schema.csv c:\users\username\desktop\test_files\*.txt > c:\users\username\desktop\test_files\*.csv %%i 

私は自分自身でコマンドを実行すると、それは問題なく動作します。

c:\programdata\python\python36\scripts\in2csv -f fixed -s [SCHEMA PATH] [FIXEDWIDTH PATH] > [OUTPUT PATH] 

私は単純な何かが欠けていますように私は感じて、任意の助けをいただければ幸いです!

+0

'/ r'を'/f'に変更します。 – SomethingDark

+0

私はこのスイッチを作ろうとしましたが、今度は%% iが期待されていないと言って戻ってきました。私は今失っているが、実際にこれを稼働させたい。 –

答えて

0

これは、このコマンドのバッチ処理を実行する必要がある場合、あなたはすべての変数のアイテムに%% %% VARIABLEを追加する必要があります声明

FOR %i in (c:\users\%username%\desktop\test\*.txt) DO (in2csv -f fixed -s c:\users\%username%\desktop\schema\schema.csv c:\users\%username%\desktop\test\%~ni.txt > c:\users\%username%\desktop\test\%~ni.csv) 

ための標準を使用する必要があります。例。 %% iまたは%% username %%。

また、作業中のファイル名を取得するには、%〜nを使用すると拡張子内のファイル名だけを返すことができます。